【发布时间】:2014-05-02 19:44:13
【问题描述】:
我需要选择 HTML 代码中的所有文本(但不包括标签)以向它们添加标签
我尝试与<[\/!a-zA-Z0-9]+(\s+\w+(=(\w+|(\"|').*(\"|')))?)*\s*\/?> 截然相反
像这样/^((?!<[\/!a-zA-Z0-9]+(\s+\w+(=(\w+|(\"|').*(\"|')))?)*\s*\/?>).)*$/
(link)
我要做的就是转换这个:
<!DOCTYPE html>
<html>
<body>
<h1>Heading</h1>
<div><p>paragraph.</p></div>
<p>paragraph.</p>
</body>
</html>
到这里:
<!DOCTYPE html>
<html>
<body>
<h1><span>Heading</span></h1>
<div><p><span>paragraph.</span></p></div>
<p><span>paragraph.</span></p>
</body>
</html>
请帮助.thx
【问题讨论】:
-
obligatory link(HTML不是正则语言,不应该用正则表达式解析)
-
首先修复任何使 HTML 不是 XML 的有效子集的语法问题。然后使用 XML 解析器对其进行解析。正则表达式不起作用。
标签: php html regex preg-replace