我想弄清楚一些事情,我正在获取远程页面的 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());
?>
如您所见,我还对代码进行了一些其他编辑,但我无法将打开新窗口转换为新选项卡
有任何想法吗?