1

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

    echo "head_title_array ".html_entity_decode($head_title_array['title'])."\n\n";
    $Mytitle = strtolower(str_replace(" ", "_", html_entity_decode($head_title_array['title'])));
    echo "Mytitle ".$Mytitle;

和输出:

      head_title_array Stay & play golf packages

      Mytitle stay_& play_golf_packages

这是为什么?我希望 $Mytitle 的值为“ stay_&_play_golf_packages ”。这里发生了什么?

任何帮助表示赞赏!

4

2 回答 2

2

可能你的字符串中有unicode 空格

您可能的解决方案是使用preg_replace

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

Unicode 字符属性

于 2012-09-26T05:44:30.260 回答
0

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

于 2012-09-26T05:36:54.410 回答