Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP删除单个函数中的空格和%20_Php_Regex - Fatal编程技术网

PHP删除单个函数中的空格和%20

PHP删除单个函数中的空格和%20,php,regex,Php,Regex,我希望删除字符串中的空白。该字符串前面应该有benurlencoded(),因此我也希望删除%20。我可以使用两个单独的函数来实现这一点,但是如何使用一个函数来实现这一点呢 $string = str_replace("%20","",$string); $string = str_replace(" ","",$string); 你可以使用函数 preg_replace('~%20| ~', "", $string) 不要为此使用正则表达式,但strtr: $result = strtr(

我希望删除字符串中的空白。该字符串前面应该有ben
urlencoded()
,因此我也希望删除
%20
。我可以使用两个单独的函数来实现这一点,但是如何使用一个函数来实现这一点呢

$string = str_replace("%20","",$string);
$string = str_replace(" ","",$string);
你可以使用函数

preg_replace('~%20| ~', "", $string)

不要为此使用正则表达式,但strtr:

$result = strtr($str, array('%20'=>'', ' '=>''));

|
或<代码>$string=str_replace([%20],“”],“”,$string)RTM@Steve感谢您的回复,但是,这会在第3行抛出一个错误

解析错误:语法错误,意外的“[”,预期的“')”,您使用的是什么PHP版本?Steve的方法是一个速记数组。为什么不反过来做呢-str_replace('',urldecode(someString))?谢谢。我尝试过类似的方法。请问您的示例中的
~
是什么意思?非常感谢。我没有意识到我可以在
strtr
@user3770579中使用数组:是的,确实有两种语法,strtr的主要优点(除了难以置信的速度)是字符串只解析一次(与str_replace不同)。