xml中特殊字符的解析,如'&' PHP中的符号
我无法使用特殊字符(例如“&”)解析 xml 文件中的特殊字符(我无法编辑该文件) php 中的符号。
这是一个示例 xml 代码片段,我尝试让它工作并在 php 中显示。
<节点> <测试>不&这个周末忘记我吧! :)
非常感谢任何帮助
I am having trouble to parse special characters from an xml file (I can't edit the file) with special characters, such as the '&' symbol in php.
Here is an example xml code snippet that I try to make it work and display in php.
<?xml version="1.0" encoding="ISO-8859-1"?>
<node>
<test>Don't & forget me this weekend!</test>
</node>
Any help is highly appreciated :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要使用
&
特殊字符,代码为&
另请参阅:http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
To use the
&
special character the code is&
Also have a look at : http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
在那个极端情况下:
将使其正确解析。不幸的是,如果您有一个大于号或小于号未转义:
str_replace
将不起作用。现在您可以使用正则表达式来测试诸如<[a-zA-Z]
之类的内容,但接下来会出现:所以这基本上会消除您使用正则表达式的机会。
我尝试使用 SimpleXML、DOM、XmlReader 解析 XML,并尝试了许多 libxml 属性,但没有任何效果。
简而言之,可能性对你不利。您的提供商需要生成正确的 XML。
In that one corner case:
Would make it parse properly. Unfortunately if you have a great than or less than sign unescaped:
A
str_replace
is not going work. Now you could do regex to test something like<[a-zA-Z]
, but then there's:So that will basically kill your chances of using a regex.
I've tried to parse your XML with SimpleXML, DOM, XmlReader, and attempted a number of libxml properties, and nothing worked.
So in short, the odds are against you. Your provider needs to generate proper XML.