首先,我了解使用剥离标签的内在风险,并且我了解另一种自定义方法可能会做得更好。但是,由于系统体系结构的构建方式,我不得不使用条形标签。 CDATA标签必须存在,并且它们将按照以下定义存在。
我试图弄清楚我需要传递给strip标签方法的allowable_tags属性,以防止该方法剥离脚本标签中的CDATA块。这甚至可能吗,还是由于处理CDATA标记的方式而引起的问题?如果PHP方法正在做一些花哨的正则表达式工作来匹配标签,那么我可以理解为什么这对于该方法是一个问题。如果我可以在这里使用strip_tags,则可以解决对系统其余部分影响最小的问题。
$TEXT = "
<script type="text/javascript">
//<![CDATA[
SOME CODE
//]]>
</script>";
$allowable_tags = '<script><![CDATA[>'
$text = strip_tags($text, $allowable_tags);