最常用的用于去除特殊字符的正则表达式似乎是这个 -
preg_replace( '/[^a-zA-Z0-9]/', '', $string );
问题在于它也会删除非英语字符。
是否有一个正则表达式可以删除所有语言的特殊字符?或者唯一的解决方案是显式匹配每个特殊字符并将其删除?
preg_replace( '/[^a-zA-Z0-9]/', '', $string );
问题在于它也会删除非英语字符。
是否有一个正则表达式可以删除所有语言的特殊字符?或者唯一的解决方案是显式匹配每个特殊字符并将其删除?
\P
是一个没有Unicode属性的字符。你能解释一下{Xan}
吗? - A.Jesin\p{Latin}
是所有拉丁字母的字符类(如[a-zA-Z]
但包括重音符号)。如果您想否定它以获得所有非拉丁字母,则编写\P{Latin}
。 - Casimir et Hippolyte