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