0

我有个问题。PHP 文件响应 500 错误。无法理解是什么问题。PHP 错误消息是:

致命错误:未捕获的异常“DOMException”和消息“未找到错误”

代码如下:

$dom = new domDocument;
$dom->preserveWhiteSpace = false;
$dom->loadHTML($cont);

$links  = $dom->getElementsByTagName('a');
$images = $dom->getElementsByTagName('img');
$divs   = $dom->getElementsByTagName('div');

foreach ($links as $link)
{
    $link->setAttribute('target','_blank');
}

foreach ($images as $image)
{
    $image->setAttribute('style','max-width:405px');
}

foreach ($divs as $div)
{
    $pnode = $dom->createElement('p', $div->nodeValue);
    $dom->replaceChild($pnode, $div); //the problem string
}

更新:如果问题字符串被注释,则没有错误。

4

2 回答 2

0

代码似乎没问题。检查您是否在phpinfo();. 添加

ini_set('display_errors', 1);
error_reporting(E_ALL);

到您的代码或启用 .htaccess 中显示的 php 错误

于 2012-11-09T16:26:33.437 回答
0

感谢air4x

replaceChildren 只查找一层。在我的情况下,它正在寻找和根中的元素。

解决方案如下:

 $div->parentNode->replaceChild($pnode, $div);
于 2012-11-09T17:10:49.037 回答