【发布时间】:2019-05-27 03:42:54
【问题描述】:
如何在不替换 HTML 标签或属性的情况下替换 HTML dom 内部或外部的内容?
例如
$txt='good <div class="good">good</div>'
$search='good';
$pattern = '#(?!<.*?)(\b'.$search.'\b)(?![^<>]*?>)#si';
$replacement = 'nice';
$txt = preg_replace($pattern, $replacement, $txt);
所以我希望它输出nice <div class="good">nice</div> 并忽略任何属性中的good,因为标签和属性是动态的,我不知道,这只是示例。
【问题讨论】:
-
我猜你确实意识到正则表达式很难。为什么?因为解析器的工作是查找文本节点而不是正则表达式。
标签: php html regex preg-replace