使用 php 转义 plist 的字符串值
如何使用 php 将包含随机字符的字符串转义为 plist 文件? htmlentities()
似乎不够严格。例如:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<string><?php echo htmlentities("@!£$%^&*)}{:|<>/");?></string>
</plist>
不起作用。
How can I escape a string containing random characters with php for a plist file? htmlentities()
seems doesn't seem to be strict enough. For example:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<string><?php echo htmlentities("@!£$%^&*)}{:|<>/");?></string>
</plist>
doesn't work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
CDATA 应该是正确的方法
:您必须转义的内容是实际的
opener 本身。
如果由于某些原因不起作用,rawurlencode() 将所有非字母数字字符转换为 RFC 1738 代码,您的目标可能更容易理解。
CDATA should be the correct way:
The only thing in the content you would have to escape is the actual
<![CDATA[
opener itself.If that doesn't work for some reasons, rawurlencode() turns all non-alphanumeric characters into RFC 1738 codes, which your target may be able to digest more easily.
不是所有的 plist 都以
开头吗?htmlentities
应该可以工作。您只需将&
转义为&
,将<
转义为<
和 <代码>> 到>
。Don't all plist start with a
<dict>
?htmlentities
should work. You only need to escape&
to&
,<
to<
and>
to>
.