用新的html值替换td单元格文本

时间:2013-06-05 06:45:19

标签: php dom domxpath

我正在尝试替换所有td单元格文本以包含链接标记。目前使用下面的代码,单元格正在被替换,但是当我输出表格时,它只是输出html代码,如下所示:

<a href="sdf" class="link">Some text</a>

而不是真正的物理HTML链接。如何用HTML标签实际替换nodeValue?感谢。

$DOM = new DOMDocument( );
@$DOM->loadHTML( $htmlTable );
$DOMXPath = new DOMXPath( $DOM );

$cellName = $DOMXPath->query('//td[contains(@class,"classA")]');

foreach( $cellName as $text ) {
    $text->nodeValue = '<a href="sdf" class="link">' . htmlspecialchars( trim( $text->nodeValue ) ) . '</a>';
}

1 个答案:

答案 0 :(得分:1)

终于开始工作了。万一它可以帮助任何人。要在td值内使用HTML更改文本节点,请使用以下命令:

$partial = $DOM->createDocumentFragment();
$partial->appendXML('<a href="sdf" class="link">some text</a>');
$text->parentNode->replaceChild($partial, $text );