php特殊字符问题

我的脚本中的特殊字符有问题: 这是我到目前为止:
$curlstrip = explode("&", $data);
$filename = substr(htmlEntities($curlstrip[5]), 2);
如果
$data
包含任何像
'
这样的特殊字符,那么我得到的只是第一部分,而不是获得我需要的字符串块。 一个更详细的例子:
$data = "12er&sdsretdgsd&file=Chris ' 19 &blabla"
该脚本将读取'在Chris之后为
'
$curlstrip[5]
将具有不同的值。 希望很清楚。 LE。遵循这个例子:
$data = "12er&sdsretdgsd&file=Chris ' 19 &blabla"
$curlstrip = explode("&", $data);
$curlstrip[0] = '12er';
$curlstrip[1] = 'sdsretdgsd';
$curlstrip[2] = 'file=Chris' instead of 'file=Chris ' 19'
那是因为'被读为
'
谢谢, 克里斯蒂安。     
已邀请:
尝试:
$curlstrip = explode("&", html_entity_decode($data));
$filename = substr(htmlEntities($curlstrip[5]), 2);
鉴于提供的代码,我无法复制您的错误,我有一个预感 - 尝试:
$data=str_replace("'","'", $data);
$curlstrip = explode("&", html_entity_decode($data));
$filename = substr(htmlEntities($curlstrip[5]), 2);
无论出于何种原因,如果你有&& (两个&符号)在$ data中彼此相邻,它会干扰爆炸功能。     
让htmlentities成为您调用数据的最后一件事。
$filename = htmlentities(substr($curlstrip[5], 2));
除此之外,还有一些功能可以处理你正在做的事情。 parse_str将从查询字符串创建一个数组。 parse_url可用于从url中提取查询字符串。     

要回复问题请先登录注册