【发布时间】:2015-04-16 01:59:16
【问题描述】:
我有以下代码:
$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,然后用新文本替换文本,这将使用@987654324 @ 在新文本中。
编辑:为了清楚起见,我添加了 $item 的外观。
如何在节点发生变化的情况下保存$oldtext,并更改节点本身?
【问题讨论】:
-
也许我不关注但你不能只做 $oldtext = $node->getAttribute('href') 吗?