如何删除句子只保留字母,数字,空格

时间:2013-10-25 08:18:58

标签: regex

我有很多句子需要从所有特殊字符和标点符号中清除(我只想保留字母,数字和空格),例如:

$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

4 个答案:

答案 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);