[英]PHP replace special characters from a string
I have clean function for remove special caracter from string but that function also removing Turkish caracter (ı,ğ,ş,ç,ö) from string我有从字符串中删除特殊字符的清洁功能,但该功能也从字符串中删除土耳其语字符(ı,ğ,ş,ç,ö)
function clean($string) {
$string = str_replace(' ', ' ', $string);
$string = preg_replace('/[^A-Za-z0-9\-]/', ' ', $string);
return preg_replace('/-+/', '-', $string);
}
How can I fix it ?我该如何解决?
Add those characters you want to keep to preg, also add Upper cases if neededç I edited your code:添加那些你想保留到 preg 的字符,如果需要还添加大写我编辑了你的代码:
function clean($string) {
$string = str_replace(' ', ' ', $string);
$string = preg_replace('/[^A-Za-z0-9\-ığşçöüÖÇŞİıĞ]/', ' ', $string);
return preg_replace('/-+/', '-', $string);
}
Test:测试:
$str='Merhaba=Türkiye 12345 çok çalış another one ! *, !@_';
var_dump(clean($str));
//Output: string(57) "Merhaba Türkiye 12345 çok çalış another one "
Maybe you can try:也许你可以试试:
function clean($string) {
$string = str_replace(' ', ' ', $string);
$string = preg_replace('/[^A-Za-z0-9ĞİŞığşçö\-]/', ' ', $string);
return preg_replace('/-+/', '-', $string);
}
Which special characters you want to replace?您要替换哪些特殊字符? Maybe be it'll be easier to change a paradigm of cleaning from everything except ... to something concrete.也许将清洁范式从除...之外的所有事物更改为具体事物会更容易。
<?php
function garbagereplace($string) {
$garbagearray = array('@','#','$','%','^','&','*');
$garbagecount = count($garbagearray);
for ($i=0; $i<$garbagecount; $i++) {
$string = str_replace($garbagearray[$i], '-', $string);
}
return $string;
}
echo garbagereplace('text@#$text%^&*text');
?>
You can use iconv
to replacing special characters like à->a, è->e您可以使用iconv
来替换特殊字符,如 à->a、è->e
<?php
$string = "ʿABBĀSĀBĀD";
echo iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $string);
// output: [nothing, and you get a notice]
echo iconv('UTF-8', 'ISO-8859-1//IGNORE', $string);
// output: ABBSBD
echo iconv('UTF-8', 'ISO-8859-1//TRANSLIT//IGNORE', $string);
// output: ABBASABAD
// Yay! That's what I wanted!
?>
Credits:学分:
https://gist.github.com/swas/10643194 https://gist.github.com/swas/10643194
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.