我正在尝试替换所有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>';
}
答案 0 :(得分:1)
终于开始工作了。万一它可以帮助任何人。要在td值内使用HTML更改文本节点,请使用以下命令:
$partial = $DOM->createDocumentFragment();
$partial->appendXML('<a href="sdf" class="link">some text</a>');
$text->parentNode->replaceChild($partial, $text );