1

我正在尝试替换所有 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>';
}
4

1 回答 1

1

终于让它工作了。以防它帮助任何人。为了在 td 值内更改带有 HTML 的文本节点,请使用以下命令:

$partial = $DOM->createDocumentFragment();
$partial->appendXML('<a href="sdf" class="link">some text</a>');
$text->parentNode->replaceChild($partial, $text );
于 2013-06-05T07:22:50.837 回答