PHP替换字符串中的特殊字符
我有clean函数用于从字符串中删除特殊字符,但该函数也可以从字符串中删除土耳其字符(ı,ğ,ş,ç,ö)PHP替换字符串中的特殊字符,php,Php,我有clean函数用于从字符串中删除特殊字符,但该函数也可以从字符串中删除土耳其字符(ı,ğ,ş,ç,ö) function clean($string) { $string = str_replace(' ', ' ', $string); $string = preg_replace('/[^A-Za-z0-9\-]/', ' ', $string); return preg_replace('/-+/', '-', $string); } 如何修复它?添加要保留
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);
}
测试:
也许你可以试试:
function clean($string) {
$string = str_replace(' ', ' ', $string);
$string = preg_replace('/[^A-Za-z0-9ĞİŞığşçö\-]/', ' ', $string);
return preg_replace('/-+/', '-', $string);
}
要替换哪些特殊字符? 也许这会更容易改变清洁的模式,除了。。。具体的东西
<?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');
?>
您可以使用
iconv
替换特殊字符,如a->a,è->e
它完全按照您告诉它的操作-删除任何不是A-Z、A-Z、0-9或-
的字符。试着告诉它不要删除字母,例如:\p{L}
例如:输入文本:Lisede sınıf ar'kad'aţm输出:Lisede s n f arkada m我需要:Lisede sınıf arkadaşm谢谢你我的朋友你把我从大麻烦中救了出来
<?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');
?>