我有 clean 函数,用于从字符串中删除特殊字符,但该函数也从字符串中删除土耳其语字符 (ı,ğ,ş,ç,ö)
function clean($string) {
$string = str_replace(' ', ' ', $string);
$string = preg_replace('/[^A-Za-z0-9\-]/', ' ', $string);
return preg_replace('/-+/', '-', $string);
}
我该如何解决?
最佳答案
添加那些你想保留到 preg 的字符,如果需要还添加大写我编辑了你的代码:
function clean($string) {
$string = str_replace(' ', ' ', $string);
$string = preg_replace('/[^A-Za-z0-9\-ığşçöüÖÇŞİıĞ]/', ' ', $string);
return preg_replace('/-+/', '-', $string);
}
测试:
$str='Merhaba=Türkiye 12345 çok çalış another one ! *, !@_';
var_dump(clean($str));
//Output: string(57) "Merhaba Türkiye 12345 çok çalış another one "
关于PHP 替换字符串中的特殊字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36116670/