我有很多句子需要从所有特殊字符和标点符号中清除(我只想保留字母,数字和空格),例如:
$string = "TB Avrupa ve Türkiye'nin en iyi oranlari ile Lider Bahis Sitesi!!";
$final_title = preg_replace('/[^a-z]+/i', '', $string);
删除所有内容(带空格) 我需要保留空格,我可以在前一行添加任何东西来实现这个吗?
预期产出:
TB Avrupa ve Türkiyenin en iyi oranlari ile Lider Bahis Sitesi
答案 0 :(得分:3)
I want to keep just the letters and numbers and spaces
您可以使用此正则表达式删除英文字母,数字和空格以外的所有内容:
preg_replace('/[^a-z\d ]+/i', '', $string);
答案 1 :(得分:2)
只需包含您要保留的任何字符:
'/[^a-z0-9 ]+/i'
答案 2 :(得分:1)
您需要将正则表达式更改为:
$final_title = preg_replace('/[^a-z0-9 ]+/i', '', $string);
这将保留数字和空格。
我不确切知道您的要求是什么,但ü
是某些语言的有效字母。
如果你想保留这些,你需要像这样制作一个正则表达式:
$final_title = preg_replace('/[\p{L}0-9 ]+/i', '', $string);
答案 3 :(得分:0)
试试这个:
preg_replace('/[^A-Z^a-z^0-9^şŞıİçÇöÖüÜĞğ ]+/i', '', $string);