我想保持這種字母和數字的字符串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);'可以這樣做。 –