0

6 小时的研究,由于我正处于学习阶段,所以我无法弄清楚,所以我决定在这个有用的社区问人

我有像 remotesite.com/page1.html 这样的远程页面,我们使用函数 file_get_contents 来获取它的源,然后我们使用 DOMDocument 在将它打印到我们的页面之前编辑这个源

$url = "remotesite.com/page1.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
//here we do some edits to remove or add contents

我想在打印之前将下面的 Div 添加到从远程站点获取的 to html 代码中:

<div style="float: right; padding-right: 2px;"><a class="open_event_tab" target="_blank" href="some-hard-coded-text-here_'+content+'_title_'+lshtitle+'_event_'+id+'.html" >open event</a></div> 

经过我的搜索,我设法编写了创建 div 的函数,这是我的代码

function createDivNode($doc) {
$divNode = $doc->createElement('div');
$divNode->setAttribute('style', 'float: right; padding-right: 2px;');
$aNode = $doc->createElement('a', 'openEvent');
$aNode->setAttribute('class', 'open_event_tab');
$aNode->setAttribute('target', '_blank');
$aNode->setAttribute('href', 'some-hard-coded-text-here_'+content+'_title_'+lshtitle+'_event_'+id+'.html');
$divNode->appendChild($aNode);
return $divNode;

但现在我有两个问题:

1-href 的软编码部分 ( '+content+'_title_'+lshtitle+'_event_'+id+') 不起作用。

2-我不知道将 div 添加到我想要的位置

我想遍历从远程站点获取的 html 源代码,以获取每个 td,如下所示,并在关闭 td 标记之前添加 div

  <td colspan="2">
     <b>Video </b> 
     <span class="section">Sports</span><b>: </b> 
     <span id="category466" class="category">Motor Sports</span>

    //here i want to add my div
</td>
4

1 回答 1

0

广告 1. 看起来你错过$了变量名,而且 PHP 中的连接也是用.not完成的+

$aNode->setAttribute('href', 'some-hard-coded-text-here_' . $content . '_title_' . $lshtitle . '_event_' . $id . '.html');

广告 2. 对于那个,您可以构建一些与您的节点匹配的xpath 查询,然后$node->appendChild($divNode)将其放入。

于 2013-08-01T22:58:35.080 回答