从字符串中仅返回字母数字字符的函数?

2022-08-30 07:20:01

我正在寻找一个php函数,它将采用输入字符串,并通过剥离所有特殊字符只留下字母数字来返回它的净化版本。

我需要第二个函数来执行相同的操作,但只返回字母字符 A-Z。

任何帮助都非常感谢。


答案 1

警告:请注意,英语不仅限于 A-Z。

尝试这样做以删除除 a-z、A-Z 和 0-9 之外的所有内容:

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

如果字母数字的定义包括外语中的字母和过时的脚本,则需要使用 Unicode 字符类。

尝试这样只留下A-Z:

$result = preg_replace("/[^A-Z]+/", "", $s);

警告的原因是,像简历这样的单词包含与此不匹配的字母。如果要匹配特定的字母列表,请调整正则表达式以包含这些字母。如果要匹配所有字母,请使用注释中提到的相应字符类。é


答案 2

而不是 ,您始终可以使用 PHP 的过滤器函数,并将 函数与 .preg_replacefilter_var()FILTER_SANITIZE_STRING


推荐