0

我想弄清楚一些事情,我正在获取远程页面的 html 源代码,该代码包含如下链接:

<a href='javascript:openWindow("index1.php?option=com_lsh&view=lsh&event_id=156029&tv_id=848&tid=34928&channel=0&tmpl=component&layout=popup&Itemid=335","735","820")'  >Link#1</a>

我想在将其回显到我的页面之前编辑此类链接,以使其在新选项卡中而不是在新窗口中打开。

我使用文件获取内容获取远程页面源,如下所示:

<?php
    //Get the url
    $url = "http://remote.com/static/section0.html";
    $html = file_get_contents($url);
    $doc = new DOMDocument(); // create DOMDocument
    libxml_use_internal_errors(true);
    $doc->loadHTML($html); // load HTML you can add $html

    $elements = $doc->getElementsByTagName('tbody');

    $toRemove = array();

    // gather a list of tbodys to remove
    foreach($elements as $el)
      if((strpos($el->nodeValue, 'desktop') !== false) && !in_array($el->parentNode, $toRemove, true))
        $toRemove[] = $el->parentNode;    

            foreach($elements as $el)
      if((strpos($el->nodeValue, 'Recommended') !== false) && !in_array($el->parentNode, $toRemove, true))
        $toRemove[] = $el->parentNode;  

    // remove them
    foreach($toRemove as $tbody)
      $tbody->parentNode->removeChild($tbody);

    echo str_replace('</h3><table','<table',$doc->saveHTML());
?>

如您所见,我还对代码进行了一些其他编辑,但我无法将打开新窗口转换为新选项卡

有任何想法吗?

4

0 回答 0