【发布时间】:2011-06-02 20:06:57
【问题描述】:
我正在使用 PHP 的 xml 解析器将 xml 写入文本文件脚本。我用@ 符号分隔属性,用| 分隔数据。符号,我注意到当我打开文本文件时,符号被视为它们自己的数据。
i.e. <equation valid="yes">For this theorem assume X < Y and Z & A = 0</equation>
should have output @yes@ |For this theorem assume X < Y and Z & A = 0|
but instead I have @yes@ |For this theorem assume X| |<| |Y| and Z | |&| | A = 0|
所以我相信正在发生的是任何依赖 &[a-z]+; 的符号。或 &[0-9]+;被视为两个标签之间的不同数据。我尝试了preg_replace("/&([a-z]+);/","\1",$data) 和相同的数字,只是有字母/数字供我稍后格式化,但这似乎没有做任何事情。如何让 xml 解析器将这些符号识别为数据的一部分?
Edit1:我刚刚也尝试用 \& 替换所有 & 但这也没有做任何事情,我只是在我的数据分隔符之前得到了反斜杠。
【问题讨论】:
标签: php xml xml-parsing