让我们说我们有随机字符串这样的:如何用preg_replace和PHP替换特殊字符?
$ str_test = “faafŠšCCZ的DJčšđCCS ZZ发fssfa AFZafžsaF”;
和大家做一些关于它的preg_replace函数:
preg_replace("/[^\da-z ]/i", "_", $str_test);
而结果我得到的是:
faaf__ __ ______ ____ ______ ______ ____ fa fssfa af__ af__sa f
所以,如果我们比较博特 - 输入和输出:
faaf__ __ ______ ____ ______ ______ ____ fa fssfa af__ af__sa f
faafŠ š čćž đš čšđ ćčš žž fa fssfa afž afžsa f
我们可以看到所有的特殊字符都被两个s替代ignt“_” ......结果应该是:
faaf_ _ ___ __ ___ ___ __ fa fssfa af_ af_sa f
faafŠ š čćž đš čšđ ćčš žž fa fssfa afž afžsa f
我曾与编码已经尝试过,但没有成功。我也想过做函数做多的preg_match一次,不是取代“_ ”与“ “......但这对大文本来说会很慢......
任何想法?
你试过'/ [^ \ da-z] {1,2}/i'吗? –
1)。确保你的php文件具有UTF-8编码而不用BOM。 2)。在preg_replace函数集标志处理这个作为unicode小写字母'u'后最后一个斜杠'/'或'我'标志 – przeqpiciel