mot*_*ioz 0 php regex string preg-replace
我怎样才能删除所有非语言字符?
我想删除下面的字符,以及所有其他非语言字符:
??
Run Code Online (Sandbox Code Playgroud)
我用这个:
preg_replace("/[^a-z0-9A-Z\-\'\|\!\.\?\:\)\(\;\*\"]/u", " ", $text );
Run Code Online (Sandbox Code Playgroud)
这对英语有好处,我需要批准所有语言字符,如俄语,阿拉伯语,希伯来语,日本......
是否有任何字符串函数可用于保留所有语言字符?
谢谢
Tim*_*ker 11
没有正则表达式可以满足您的需求 - 语言和写作对此来说太复杂了.但近似可能是
preg_replace('/[^\p{L}\p{M}\p{Z}\p{N}\p{P}]/u', ' ', $text);
Run Code Online (Sandbox Code Playgroud)
这将替换任何不是Unicode字符的空格,其中包含"letter","mark","separator","number"或"punctuation"属性之一.