0
我正在使用此函數替換短語中的不良詞, ,但它對除UTF-8字符以外的英文字母有效。preg_replace在使用UTF-8字符時無法正常工作?
我發現\b
邊界與UTF-8字符無法正常工作。 有沒有其他方法可以做到這一點?
我不得不添加'\ b',因爲我只需要替換確切的單詞。 作爲示例:不想替換popo_one
與p***o
我只需要用p***o
替換popo
。希望能夠理解。
public function wordfilter($phrase) {
$filter = array('/popo\b/i','/blabla\b/i');
$replace = array('p***o','b***a');
$newphrase = preg_replace($filter, $replace, $phrase);
return $newphrase;
}
任何想法讚賞。
它工作正常,但沒有。它在utf-8字符時有一些錯誤,例如當我嘗試搜索並替換這個''/මම\ b/u''時,它也會替換這個完全出乎意料的'මමේ'。任何想法請問? – Milan 2014-09-27 02:05:02
@米蘭:這是正常的,這些字符是字母(在斯里蘭卡使用僧伽羅語)。 – 2014-09-27 02:54:35
Oky謝謝@卡西米爾,是的,它是僧伽羅語:) – Milan 2014-09-29 02:32:48