当字符串包含“小于”和“大于”符号时,我在使用 strip_tags PHP 函数时遇到一些问题。例如:
If I do:
strip_tags("<span>some text <5ml and then >10ml some text </span>");
我去拿:
some text 10ml some text
但是,显然我想得到:
some text <5ml and then >10ml some text
是的,我知道我可以使用
我正在寻找一种巧妙的方法来解析 HTML,以便仅删除实际的 HTML 标签。
由于 TinyMCE 用于生成该数据,我知道在任何情况下都可以使用哪些实际的 html 标签,因此strip_tags($string, $black_list)
实施会比strip_tags($string, $allowable_tags)
.
有什么想法吗?
作为一种古怪的解决方法,您可以使用以下方法过滤非 html 括号:
$html = preg_replace("# <(?![/a-z]) | (?<=\s)>(?![a-z]) #exi", "htmlentities('$0')", $html);
之后应用 strip_tags() 。请注意,这仅适用于您的特定示例和类似案例。它是一个带有一些启发式的正则表达式,而不是人工智能来从具有其他含义的未转义尖括号中辨别 html 标签。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)