PHP 替换字符串中的特殊字符

yyy_WW 阅读:93 2025-01-19 22:14:33 评论:0

我有 清洁 从字符串中删除特殊字符的函数,但该函数也从字符串中删除土耳其语字符 (ı,ğ,ş,ç,ö)

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
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号