根据php中数组的大小更改html代码

时间:2018-04-15 17:11:34

标签: php arrays url tabs

您好我有一个包含一些Urls和Html代码的数组,可以在其他选项卡中打开此网页。 但该数组会动态更改其包含的Urls数量。如何根据我的数组包含的Url数量更改Html代码?

代码:

<?php
//$myarray can change dinamicaly the amount of urls contains
$myarray=array('www.google.com','www.piza.com','www.5.com');
?> 

现在在我的HTML代码中,我有打开选项卡的代码,但我需要打开网址的数组编号。在这种情况下,我需要window.open('')三次。

<p><a href='#'
onclick='window.open('');
>Click to open webs</a></p>

2 个答案:

答案 0 :(得分:0)

你可以做这样的事情(虽然如果网址来自用户输入的输入,我会在没有仔细消毒的情况下提出反对意见)

<?php
  $arr = array("https://www.google.com", "https://www.pizza.com");
?>

<script>
  function openWindows() {
    var urlsArray = <?php echo '["' . implode($arr, '","') . '"]'; ?>;

    for(i=0; i<urlsArray.length; i++) {
      window.open(urlsArray[i]);
    }
  }
</script>

<a href="#" onclick="openWindows()">Open Windows</a>

答案 1 :(得分:0)

<?php
//$myarray can change dinamicaly the amount of urls contains
$myarray=array('www.google.com','www.piza.com','www.5.com');

$windowsOpen = '';
foreach ($myarray as $value) {
    $windowsOpen .= "window.open('$value', '_blank');";
}
?> 

//now in my HTML code I have the code for open a tab, but i need open the array numbers of urls. In this case I need 'window.open('')' three times.
<p><a href='#' onclick="<?= $windowsOpen; ?>">Click to open webs</a></p>

您应该知道的很少事情,网址需要以“http://”或“https://”开头才能成为外部链接,如果不是,则将其视为内部链接。 此外,大多数浏览器会阻止window.open,如果它不止一个是垃圾邮件。