查找<a>和</a>标记内的文本

2022-03-22 00:00:00 php preg-replace

我需要一点帮助来查找某些AND标记中的内容。

示例:

$string = '<a href="dummyurl">TEXT</a><span>Other Text</span>';

我想查找‘Text’并用其他值替换它。显然,‘href’和‘Text’的内容是动态生成的。


解决方案

$doc = new DOMDocument;
$doc->loadHTML('<a href="dummyurl">TEXT</a><span>Other Text</span>');
$anchors = $doc->getElementsByTagName('a');
$len = $anchors->length;
for($i = 0; $i < $len; $i++) {
    if($anchors->item($i)->nodeValue == 'foo') {
        $anchors->item($i)->nodeValue = 'New Value';
        $anchors->item($i)->setAttribute('href', 'new href');
    }
}
$newHTML = $doc->saveHTML();
echo $newHTML;

http://php.net/manual/en/class.domdocument.php

相关文章