Php 失踪儿童
如何访问PHP的Php 失踪儿童,php,Php,如何访问PHP的replaceChild方法?我需要查找并替换特定元素的所有实例(在本例中为aanchor元素)。我已经干了好几个小时了,在哪儿都找不到。一台服务器运行PHP5.6.2和另一台5.5.0 $row1 = '<div><p>A test!</p><a>aaa</a><p>A test!</p><a>bbb</a></div>'; $dom = new DOMDo
replaceChild
方法?我需要查找并替换特定元素的所有实例(在本例中为a
anchor元素)。我已经干了好几个小时了,在哪儿都找不到。一台服务器运行PHP5.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
}
不管我是直接还是间接地访问元素print\r
都不会显示PHP的replaceChild
方法!显然我读过手册。这里没有任何其他问题有任何接近工作适用答案的地方。有什么建议吗
更新:我已经放弃了需要这样做的具体方法,因为在任何地方都完全没有有效的答案,如果没有有效的答案,这不是重复的(提示:没有,驾驶模式应该被禁止)。为了将来的目的,如果我没有接受一个答案,那么我不能保证它以任何方式工作,尽管如果我有时间开始测试它,我会发表评论。为了其他人的利益,我将把这个留在这里。至于我的项目,我基本上使用了一点PHP中的
explode()
来完成这项工作,这项工作很差劲,但不像PHP.net那样差劲,因为它缺少工作示例,或者有人在其他地方发布了不工作的答案。我可能有误解。print_r()不会显示方法,是吗?DomeElement从DOMNode继承replaceChild(),因此您应该能够使用@AlisterBulman的$entry->replaceChild(…)
可能的重复项来访问它。如果接受的答案不起作用,请删除“您没有检查重复”状态。@MikeB未定义属性:DomeElement:$replaceChild
。我没有找到任何关于如何访问DOMNode
的可靠文档,请提供建议?replaceChild是一种方法,而不是属性。您是用$entry->replaceChild
还是$entry->replaceChild()
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
)