函数只返回string中的字母数字字符?

我正在寻找一个PHP函数,将采取一个inputstring,并通过删除所有特殊字符只留下字母数字返回一个消毒版本。

我需要第二个function相同,但只返回字母字符AZ。

任何帮助非常感谢。

警告:请注意,英语不仅限于AZ。

试试这个删除除az,AZ和0-9之外的所有东西:

 $result = preg_replace("/[^a-zA-Z0-9]+/", "", $s); 

如果您的字母数字的定义包含外文字母和过时的脚本,那么您将需要使用Unicode字符类。

试试这个只留下AZ:

 $result = preg_replace("/[^AZ]+/", "", $s); 

警告的原因是像简历这样的词包含字母é ,这将不会被匹配。 如果要匹配特定的字母列表,请调整正则expression式以包含这些字母。 如果你想匹配所有的字母,使用评论中提到的适当的字符类。

而不是preg_replace ,你总是可以使用filter_var()函数和FILTER_SANITIZE_STRING filter_var()使用PHP的过滤函数 。