函数只返回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的过滤函数 。