0

我正在尝试使用这行代码来接受用 '%20' 替换空格的 URL 变量,但它也必须通过正则表达式

$type=urldecode(ereg_replace("[^a-zA-Z0-9%]+", "", @$_REQUEST['type']));

结果只是删除了 %20 而不是用空格替换,例如 JohnDoe 不是 John Doe,来自 John%20Doe

4

3 回答 3

1

您的订单错误并注意ereg_replace已折旧..preg_replace是更好的选择

尝试

 $type  = ereg_replace("[^a-zA-Z0-9%]+", "", urldecode(@$_REQUEST['type']));

更好的方法

$type = @$_REQUEST['type'] ; 
$type = urldecode($type);
$type = str_replace(" ","",$type) ;

谢谢

:)

于 2012-04-05T09:55:44.973 回答
0

如果您只是想用%20然后使用替换空间:

str_replace(" ", "%20", $_REQUEST['type']);

这里不需要使用正则表达式。

于 2012-04-05T09:52:50.127 回答
0

$type = str_replace("%20", "", @$_REQUEST["type"]);应该可以工作,并将所有 %20 替换为“”。

于 2012-04-05T09:55:21.743 回答