我在PHP中遇到了preg_replace()
的问题。
我从数据库中获取了一些未转义的HTML字符串,并使用htmlentities()
转义所有特殊字符。它工作得很好但它也取代了<
和>
符号,因此我使用str_replace()
并替换了所有<
和>
,因此标记被排除在外从更换。我使用的所有代码都已关闭,但我使用以<
和>
符号开头的一些内容,如字符串<nome programma>
,就像标记一样。
所以我决定将preg_replace()
与此正则表达式<(\w+)>(.*)<\/(\w+)>
我必须逃避这些字符串:
<sub>string</sub>
<code>start "<nome programma>":</code>
Il tipo <code>string</code> e il tipo <code>char</code>
这对前两种情况有效,但对最后一种情况不适用。
我抓了一个例子here。
有人可以帮我搞清楚吗?
答案 0 :(得分:0)
我找到了解决方案!
工作正则表达式就是这个:((<)(\w+)(>))(.*?)((<)[\/+](\w+)(>))
。
我希望这可以帮助别人!