0

为什么 PHP Simple HTML DOM 的这段代码没有按预期工作?它应该找到<b>HTML 文档中的所有标签并将其文本更改为“粗体文本”。它什么也没做。

$contentEdited2 = new simple_html_dom();
$contentEdited2->load($html);

$bolds = $contentEdited2->find('b');

foreach($bolds as $b)
    $b->innertext = "bold text";

在过去的一个小时里,我一直试图弄清楚这一点。任何帮助将不胜感激。

4

1 回答 1

0

您没有更改原始$html变量,而只是更改了仅存在于循环中的本地副本。

您可以将循环更改为:

foreach($bolds as &$b)    // assign value by reference
    $b->innertext = "bold text";

或者:

foreach($contentEdited2->find('b') as &$b)
    $b->innertext = "bold text";
于 2012-06-13T21:17:08.570 回答