我想保持这种字母和数字的字符串PHP串了preg_replace,保持奇怪的字母和数字
- AAO和其他奇怪的字母
- AZ和其他正常字母
- 123等数字
我不希望这
- ##¤&#!,_-和其他奇怪的字符
代码
$content = preg_replace("???", "", $string);
我想保持这种字母和数字的字符串PHP串了preg_replace,保持奇怪的字母和数字
我不希望这
代码
$content = preg_replace("???", "", $string);
您可以使用强尼5方法包括写你所需要的所有字符在角色类中。您可以使用预定义的类\p{Latin}
包含所有的拉丁字母(和accentued字母太):
$content = preg_replace('~[^\p{Latin}0-9]+~u', '', $string);
如果你希望所有的信件或“世界”位数:
$content = preg_replace('~\P{Xan}+~u', '', $string);
也许偏移主义,但我怎么能白帽一些字符,例如空格,减号和逗号? –
$content = preg_replace("/[^\p{L}\p{N}]+/u", "", $string);
\p{L}
匹配任何Unicode字母。\p{N}
与任何Unicode数字匹配。[^\p{L}\p{N}]
匹配任何既不是字母也不是数字的字符。+1请注意,这还包括例如“汉字”。不确定OP喜不喜欢。 – deceze
请更清楚地定义“其他奇怪的字符”是什么。你可能会谈论成千上万个可能的角色。 – deceze
@deceze是的,禁止所有不是数字或字母的数千个字符。 –
它是UTF-8编码输入吗? '$ content = preg_replace('/ [^ \ p {L} \ p {N}]/u',“”,$ string);'可以这样做。 –