php特殊字符问题

时间:2010-11-01 16:14:21

标签: php magic-quotes

我的脚本中的特殊字符出现问题:

这是我到目前为止所做的:

$curlstrip = explode("&", $data);
$filename = substr(htmlEntities($curlstrip[5]), 2);

如果$data包含'之类的任何特殊字符,那就是',而不是获取我需要的字符串块,我只得到第一部分。 一个更详细的例子:

$data = "12er&sdsretdgsd&file=Chris ' 19 &blabla"

该脚本会在'之后读取',而$curlstrip[5]的{​​{1}}将会有不同的值。

希望很清楚。

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'

这是因为'正被读为

'

THX,

的Cristian。

2 个答案:

答案 0 :(得分:1)

尝试:

$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中彼此相邻,它会干扰爆炸功能。

答案 1 :(得分:0)

让你的数据最后调用。

$filename = htmlentities(substr($curlstrip[5], 2));

除此之外,还有一些功能可以处理你正在做的事情。 parse_str将从查询字符串创建一个数组。 parse_url可用于从网址中提取查询字符串。