如何在">"之后获取文字HTML标记以外的符号

时间:2014-08-19 11:47:37

标签: php regex

我需要将这样的文字替换为> here is textsomething

但我的正则表达式也取代了HTML标签:<div class="class">text</div>

结果为<div class="class" something text </div something

regexp:\>(?=(.*?))

我尝试使用带有负面lookbehind的HTML标记:(?<!.+\<)\>(?=(.*?))但它不起作用。

如何解决?

提前致谢!

2 个答案:

答案 0 :(得分:2)

正则表达式:

/<(\w+)\b.*?>.*?<\/\1>(*SKIP)(*F)|>/gs

替换字符串:

something

DEMO

答案 1 :(得分:1)

使用正则表达式解析HTML是mission (almost) impossible。我宁愿用built-in PHP features完全解析HTML。

此时,在您分隔标签和内容之后,应用所需的更改(usage example here)变得微不足道(如果您真的想要,可能使用正则表达式)。