为什么str_replace不会替换问号?

DeS*_*wnT 1 php preg-replace str-replace

我有一个带有问号('?')的字符串,我想用可解析的东西替换它.

但str_replace不会取代任何?我的字符串中的字符......

$str = str_replace('?', 'replacement', $str);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Dan*_*man 6

该代码确实用替换词替换问号,这意味着不是您正在使用的代码,或者您的字符串中的内容不是问号.

PHP的字符串函数只能在latin1(iso-8859-1)编码的字符串上正确运行.在许多编码中,可能有许多代码点对应于一个在视觉上看起来像问号的字形,但与ASCII不同?


$str = "Hello? Anyone home?";
$str = str_replace('?', 'replacement', $str);
echo $str;
Run Code Online (Sandbox Code Playgroud)

输出:

Helloreplacement任何人的家居装修