当用户在搜索框中插入特殊符号\\
或//
时,我会收到以下错误:
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity
如何删除它?
$q=$_GET["abc"];
$xml = "http://abc/seach?q=".urlencode($q);
$Obj = simplexml_load_file($xml);
答案 0 :(得分:0)
为什么不用这样的东西删除那些符号(即过滤器输入,你应该做什么):
<强> [编辑] 强>
$q = $_GET["abc"];
// Array of character patterns not allowed
$not_allowed = Array('\\','//');
// Strip from query
$q = str_replace($not_allowed,'',$q);
// Pass to XML
....
答案 1 :(得分:0)
根据这里的信息,我最好的猜测是你正在访问的脚本是错误的,而不是你的代码。我建议不要正确处理斜杠并返回无效的XML响应。
有三种方法可以解决这个问题。
$q = str_replace(array('//', '\\'), '', $q);