Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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 str_replace()不';I don’我不能取代每一个西方人_Php_Str Replace - Fatal编程技术网

Php str_replace()不';I don’我不能取代每一个西方人

Php str_replace()不';I don’我不能取代每一个西方人,php,str-replace,Php,Str Replace,我意识到str_replace()有一个奇怪的问题,它似乎不能用$replace替换$search的每一次出现,即使我没有指定$count变量。。。 我的代码 以及输出: head_title_array Stay & play golf packages Mytitle stay_& play_golf_packages 为什么呢?我希望$Mytitle的价值为“住宿、打球、高尔夫”套餐。 这是怎么回事 感谢您的帮助 那些不是空格。尝试替换和0xA0

我意识到str_replace()有一个奇怪的问题,它似乎不能用$replace替换$search的每一次出现,即使我没有指定$count变量。。。 我的代码

以及输出:

      head_title_array Stay & play golf packages

      Mytitle stay_& play_golf_packages
为什么呢?我希望$Mytitle的价值为“住宿、打球、高尔夫”套餐。 这是怎么回事


感谢您的帮助

那些不是空格。尝试替换
和0xA0。

字符串中可能有

可能的解决方案是使用
preg\u replace

preg_replace('/\p{Zs}/u', '_', $your_string);

将您的代码分成各个步骤,并确保您实际上在传递您认为自己是什么。现在,通过将解码权传递给替换,你隐藏了很多东西;它会起作用的。。。实际上“$head\u title\u array['title']”中的值是多少。是的,谢谢!成功了!但是你能解释一下吗。我使用reg exp不是很方便,我想知道\p、{Zs}和/u代表什么。。。?谢谢@cerr
/u
表示unicode,正如您在我的答案
\p{Zs}
中的链接中所看到的那样,表示任何空白。因此,它可以翻译为unicode字符串中的任何空格
preg_replace('/\p{Zs}/u', '_', $your_string);