【问题标题】:How to turn an array of text into links?如何将文本数组转换为链接?
【发布时间】:2015-03-08 15:35:33
【问题描述】:

我有一个文本数组,我保存在一个数组中。该数组链接到一个按钮,当按下该按钮时,我想打开不同选项卡中的所有链接。

例如

if(isset($_POST["open links"]))
{

foreach($array as $item)
{
   <a href="$item" target="_blank" ></a>
}
}

链接保存在先前表单的文本文件中,数组中的每个项目都只是 URL。我该怎么做呢?

【问题讨论】:

  • PHP 是服务器端,无法控制浏览器。 Javascript 对浏览器有一些控制,但不是你想要的stackoverflow.com/questions/4907843/…
  • 在您的标题中,您要求将一组文本转换为链接,然后在问题中,您实际上希望为每个链接打开一个选项卡。你到底想要什么?链接是否已经显示?无论如何,如果您想真正打开一些选项卡,请先进行 PHP 之旅,PHP 不是要走的路,而是您想使用 javascript。但是,如果您需要显示链接,则此 PHP 代码不正确,甚至不应该编译,因为它有很多语法错误。

标签: php html arrays hyperlink


【解决方案1】:

试着回应他们怎么样

foreach($array as $item)
{
   echo('<a href="' . $item . '" target="_blank" ></a>');
}

它以 $item 的值为目标打印链接标签。

【讨论】:

  • 这不会“打开不同选项卡中的所有链接”。
  • @vascowhite:确实,但如果你看一下问题的“标题”,他也在问这个问题......也许......? :P
  • @vascowhite:根据W3 Schools_blank 在新窗口或标签页中打开链接的文档
【解决方案2】:

这个怎么样

<?php foreach($array as $item)
      { 
?>
        <script>
              window.onload = function(){
                  window.open("<?=$item?>", "_blank"); // will open new tab on window.onload
              }
       </script>

<?php } ?>

【讨论】:

    【解决方案3】:

    要同时打开多个链接,您需要一些(基本)javascript。

    试试这样的:

    <?php
    
    $array = array( 'http://www.stackoverflow.com', 'http://www.google.com');
    
    ?>
    
    <button id="my-button">Click me</button>
    
    <script type="text/javascript">
    
        var links = [
            <?php
                foreach($array as $i => $link)
                    echo '"' . $link  . '"' . ($i < (sizeof($array) -1)? ',' : '');
                ?>
            ];
        document.getElementById("my-button").onclick = function(){
            links.forEach(function(link) {
                 window.open(link, '_blank');
            });
        }
    
     </script>
    

    请注意,Chrome 弹出窗口阻止程序不允许您以编程方式一次打开多个新标签页。 (Window.open isn't working for multiple links in Google Chrome)

    【讨论】:

    • 谢谢,我是编码新手,还没有学过javascript。我正要试试这个。如果 Chrome 不允许您一次打开多个标签,有没有办法解决这个问题?
    • 据我所知,没有办法解决这个问题。不过,您可以禁用页面的弹出窗口阻止程序。
    【解决方案4】:

    考虑你的链接文件:-

    链接.txt

    > http://google.com http://stackoverflow.com http://facebook.com
    
    • 所有以空格分隔的链接

    然后是php代码:-

    <button id="my-button">Click me</button>
    
    <script type="text/javascript">
    
       document.getElementById("my-button").onclick = function(){
           <?php  foreach($links as $link) {    echo"window.open(" . $link . ", '_blank');"; } ?>
       }
    
    </script>
    

    从其他答案中窃取了一些代码:p,但这是一个好习惯!谢谢:)

    【讨论】:

      猜你喜欢
      • 2014-10-13
      • 1970-01-01
      • 1970-01-01
      • 2013-03-30
      • 1970-01-01
      • 2014-12-24
      • 1970-01-01
      • 2021-07-04
      • 2014-03-21
      相关资源
      最近更新 更多