【问题标题】:PHP: How to get rid of all <![CDATA[ and ]]> occurrences in a string?PHP:如何摆脱字符串中所有 <![CDATA[ 和 ]]> 的出现?
【发布时间】:2011-02-27 13:40:45
【问题描述】:

我试过这个作为测试:

<?php
$crap = "<![CDATA[Hello, world!]]>";
$crap = str_replace(list("<![CDATA[", "]]>"), "", $crap);
echo $crap;
?>

但它返回了这个:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ')' in /srv/www/htdocs/test.php on line 3

【问题讨论】:

    标签: php replace tags cdata


    【解决方案1】:

    list 替换为arraylist 用于同时制作多个变量属性。

    但是您不应该使用str_replace 解析 XML。考虑以下有效文件:

    <?xml version="1.0" ?>
    <root>
    <![CDATA[&]]>
    </root>
    

    替换后变成:

    <?xml version="1.0" ?>
    <root>
    &
    </root>
    

    这是无效的 XML。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-06
      • 2012-11-19
      • 2018-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      相关资源
      最近更新 更多