在php中使用CDATA转义特殊字符

时间:2011-10-27 20:52:43

标签: php xml

这让我度过了几天。尝试使用这些值输出xml。底线是它工作正常,但没有特殊的字符,我想逃避使用CDATA。我试过$output .= '<name>'<![CDATA['.$_category->getName().']]>'</name>';但没有显示数据。这意味着$ _category-&gt; getName()方法不会运行。当没有CDATA时,下面的代码会中断。

       $output .= '<category>';
       $output .= '<name>'.$_category->getName().'</name>';
       $output .= '<url>'.$_category->getUrl().'</url>';
       $output .= '</category>';

1 个答案:

答案 0 :(得分:2)

您必须将要发送的文字文本放在字符串文字内的浏览器中。

$output .= '<name><![CDATA[' . $_category->getName() . ']]></name>';

也就是说,不要试图通过粉碎字符串来构建XML,而只是要求意外数据引入错误。 使用真实的XML库。