带有 $_GET 参数的 PHP xmlparser
我使用 xml_parser 来解析 xml。当我有一个像它一样的字符串时
$simple = "<para><note>simple note</note></para>";
。但问题是当我使用 $_GET 参数时。
$simple = "<para><note>simple note</note></para>";
$parser = xml_parser_create();
$valid = xml_parse_into_struct($parser, $simple, $response, $index);
xml_parser_free($parser);
echo $valid;
当运行 xml.php 时,它返回 1。它有效。
$simple= $_GET['simple'];
$parser = xml_parser_create();
$valid = xml_parse_into_struct($parser, $simple, $response, $index);
xml_parser_free($parser);
echo $valid;
当运行时,
xml.php?simple=<para><note>simple note</note></para>
它返回 0。它不起作用。
但 $_GET 参数没问题:
echo $_GET['simple]
prints
<para><note>simple note</note></para>
顺便说一句,我关闭了魔术引号。
非常感谢
I use a xml_parser to parse an xml. When I have a string like
$simple = "<para><note>simple note</note></para>";
it works. But the problem is when I use a $_GET parameter.
$simple = "<para><note>simple note</note></para>";
$parser = xml_parser_create();
$valid = xml_parse_into_struct($parser, $simple, $response, $index);
xml_parser_free($parser);
echo $valid;
When run xml.php, it returns 1. It works
$simple= $_GET['simple'];
$parser = xml_parser_create();
$valid = xml_parse_into_struct($parser, $simple, $response, $index);
xml_parser_free($parser);
echo $valid;
When run
xml.php?simple=<para><note>simple note</note></para>
It returns 0. It doesn´t work.
But the $_GET parameter is OK:
echo $_GET['simple]
prints
<para><note>simple note</note></para>
By the way, I have magic quotes off.
Thank you very much
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于您在屏幕/浏览器上看到的是
simple note
它可能意味着<
和>
不是真正的标记分隔符。 (但是>
和<
)当你做echo的时候一定要查看页面上的源码,真相就会水落石出。
Since what you see on the screen/browser is
<para><note>simple note</note></para>
It probably means the<
and>
are not really tag delimiters. (but>
and<
)Do view source on the page when you do the echo, and the truth will come out.