我想替换 HTML 上的每个锚点并使用此代码,但似乎缺少一些东西:
foreach($html->find('div') as $dict) {
$dict->find('SPAN', 0)->find('A', 0)->href = "link.php?" . $dict->find('SPAN', 0)->find('A', 0)->innertext;
}
HTML结构如下:
<DIV>
<SPAN>
Text text text <A HREF="link1.php">LINK_A</a>,
text text <A HREF="link1.php">LINK_B</a>.
</SPAN>
</DIV>
...
我应该用该代码做的是将html上的所有锚点更改为:
<DIV>
<SPAN>
Text text text <A HREF="link.php?LINK_A">LINK_A</a>,
text text <A HREF="link.php?LINK_B">LINK_B</a>.
</SPAN>
</DIV>
...
但是该代码仅适用于每个跨度上的第一个锚点,例如:
<DIV>
<SPAN>
Text text text <A HREF="link.php?LINK_A">LINK_A</a>,
text text <A HREF="link1.php">LINK_B</a>.
</SPAN>
</DIV>
...
我尝试将代码修改为:
foreach($html->find('div') as $dict) {
foreach($dict->find('SPAN', 0)->find('A', 0) as $anchor) {
$anchor->href = "link.php?" . $anchor->innertext;
}
}
但它变得最糟糕。我怎样才能做到这一点?谢谢。