我有以下代码:更改特定DOM节点PHP
$item = "What I have: <a href='/id/blablabla'>This $oldtext.</a>";
$dom = new DOMDocument;
$dom->loadHTML($item);
foreach ($dom->getElementsByTagName('a') as $node) {
if(strpos($node->getAttribute('href'),'/id/') !== false) {
$oldtext = // ?
$newtext = "This is old:".$oldtext."And this is new: New.";
// then replace 'This $oldtext.' in $item as $newtext
}
}
此检查是否在任何节点我$item
具有包含/ ID /一个href。如果他们这样做,他们应该保存当前文本,称为$oldtext
的节点,然后用新文本替换文本,这将在新文本中使用$oldtext
。
编辑:我已经添加了什么$项目看起来像清晰。
即使节点发生变化,如何保存$oldtext
并更改节点本身?
也许我不跟随,但不能你只是做$ oldtext = $节点 - >的getAttribute( 'href' 属性)? –