俄语字符和字母数字转换器

时间:2018-10-26 16:05:13

标签: php regex

如何在保留字符串чг之类的俄语字符的同时,从PHP字符串中删除非字母数字字符?

我试图翻译字符串,然后用preg_replace进行清理,但这会删除俄语字符。

1 个答案:

答案 0 :(得分:1)

您可以使用preg_replace进行操作。您只需要构建一个与所需内容匹配的正则表达式即可。

如果我正确理解了您的问题,则应该可以:

preg_replace('/[^\p{L}\p{N}\s]/u', '', $string);

简要说明:

  • ^与该字符集中的任何字符都不匹配。
  • \p{L}与任何字母(包括西里尔字母)匹配。
  • \p{N}匹配任何数字。
  • \s匹配所有空格。
  • /u添加了Unicode支持。

如果您要匹配西里尔字母的字母,则可能要使用\p{Cyrillic}而不是\p{L}