如何在保留字符串ч
和г
之类的俄语字符的同时,从PHP字符串中删除非字母数字字符?
我试图翻译字符串,然后用preg_replace
进行清理,但这会删除俄语字符。
答案 0 :(得分:1)
您可以使用preg_replace
进行操作。您只需要构建一个与所需内容匹配的正则表达式即可。
如果我正确理解了您的问题,则应该可以:
preg_replace('/[^\p{L}\p{N}\s]/u', '', $string);
简要说明:
^
与该字符集中的任何字符都不匹配。\p{L}
与任何字母(包括西里尔字母)匹配。\p{N}
匹配任何数字。\s
匹配所有空格。/u
添加了Unicode支持。如果您仅要匹配西里尔字母的字母,则可能要使用\p{Cyrillic}
而不是\p{L}
。