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;
}
}
しかし、それは最悪になります。どうやってやるの?ありがとう。