2013-09-27 76 views
1

我在我的網站中有幾種語言,但下面的代碼不適用於中文語言。屏幕上出現其他所有文本,因此輸出沒有問題。我想知道str_replace()在中文文本中使用時是否對%s過敏!只更換%s不起作用。str_replace()不會替換中文字符串中的針

注意:%(任何字符無關緊要)都不起作用。

任何想法爲什麼?

感謝

$lang = "%s的字段是必需的。"; 
echo $message = str_replace('%s', '123', $lang); 
//Should output 123的字段是必需的。but instead %s的字段是必需的。appears again. 
echo $message = str_replace('的字段是必需的', '123', $lang); 
//This outputs %s123. which is fine 

回答

6

%是不是 「適當」 %。看看這樣的:

$lang = '%s的字段是必需的。'; 

代替

$lang = '%s的字段是必需的。'; 

如果你在兩個仔細觀察,你會發現「%」字符是不同的。

所以你的字符串$lang有一個和你的str_replace正在尋找%

+2

+1你有一雙眼睛!謝謝:) – BentCoder

+1

我不能相信你注意到了。 +1 –

+0

僅供參考,「%」似乎是「全角百分號」:http://www.fileformat.info/info/unicode/char/ff05/index.htm – Exander