如何访问 PHP的replaceChild
方法?我需要查找并替换特定元素的所有实例(在此示例中为a
锚元素)。我已经在这几个小时了,我找不到任何地方。一台服务器运行PHP 5.6.2,另一台运行5.5.0。
$row1 = '<div><p>A test!</p><a>aaa</a><p>A test!</p><a>bbb</a></div>';
$dom = new DOMDocument();
$dom->loadXML($row1);
$xpath = new DOMXPath($dom);
$entries = $xpath->query('a');
foreach ($entries as $entry)
{
echo '<div><pre>'; print_r($entry); echo '</pre></div>';//Nope
echo '<div><pre>'; print_r($entry->parentNode); echo '</pre></div>';//More Nope
}
返回的示例:
DOMElement Object
(
[tagName] => a
[schemaTypeInfo] =>
[nodeName] => a
[nodeValue] => aaa
[nodeType] => 1
[parentNode] => (object value omitted)
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] => (object value omitted)
[nextSibling] => (object value omitted)
[attributes] => (object value omitted)
[ownerDocument] => (object value omitted)
[namespaceURI] =>
[prefix] =>
[localName] => a
[baseURI] => //Private
[textContent] => aaa
)
无论我是直接还是间接访问元素print_r
从不显示PHP的replaceChild
方法!显然我读过这本手册。此处没有任何其他问题可以在适当的答案附近找到。建议好吗?
更新:我已经放弃了由于完全缺乏工作答案而需要这种方法的具体方法,如果没有可行的答案,这不是重复的(提示:那里不是,应该禁止驾驶mod。为了将来的目的,如果我没有接受答案,那么我不能保证它以任何方式起作用,但如果我有时间开始测试,我会发表评论。为了别人的利益,我会留在这里。至于我的项目,我基本上在PHP中使用了一些explode()
来完成工作,这是蹩脚但不像php.net缺乏工作示例或人们在其他地方发布非工作答案那样蹩脚。