【发布时间】:2017-06-09 12:15:00
【问题描述】:
我尝试使用this解决一个问题:我想用这种方式用文本链接替换文本。
但是如果我使用这个源代码:
$dom = new DOMDocument;
$dom->loadHTML($html_content);
function preg_replace_dom($regex, $replacement, DOMNode $dom, array $excludeParents = array()) {
if (!empty($dom->childNodes)) {
foreach ($dom->childNodes as $node) {
if ($node instanceof DOMText &&
!in_array($node->parentNode->nodeName, $excludeParents))
{
$node->nodeValue = preg_replace($regex, $replacement, $node->nodeValue);
}
else
{
preg_replace_dom($regex, $replacement, $node, $excludeParents);
}
}
}
}
preg_replace_dom('/match this text/i', "<a href='http://test.de'>test</a>", $dom->documentElement, array('a'));
文本被替换,但<a href='http://test.de>test</a> 打印为纯文本,而不是链接。
我该如何解决这个问题?
【问题讨论】: