使用PHP将%S中的SPACES替换为%20



1 Answers

使用urlencode()而不是尝试实现自己的。 偷懒。

Question

我想用%20替换网址中的所有空格实例。 我怎么用正则表达式做到这一点?

谢谢!




你有几个选择如何做到这一点,或者:

strtr()

假设您要将"\t"" "替换为"%20"

$replace_pairs = array(
  "\t" => '%20',
  " " => '%20',
);
return strtr( $text, $replace_pairs)

preg_replace()

你这里有几个选项,要么只更换空间~ ~ ,再次替换空格和制表符~[ \t]~各种空格 ~\s~

return preg_replace( '~\s~', '%20', $text);

或者当你需要用一个%20替换像这个"\t \t \t \t"字符串时:

return preg_replace( '~\s+~', '%20', $text);

我假设你真的想要使用手动字符串替换并处理更多类型的空格,例如不可破坏的空间(  




Related



Tags

php php   regex   url