regexp with russian lang

前端 未结 3 1832
别那么骄傲
别那么骄傲 2020-12-08 23:41

I can\'t solve my problem with regexp.

Ok, when i type:

$string = preg_replace(\"#\\[name=([a-zA-Z0-9 .-]+)*]#\",\"$name_start $1 $name_end\",$string         


        
3条回答
  •  南笙
    南笙 (楼主)
    2020-12-09 00:28

    The common unicode script (supported since pcre 3.3) provides a test for the property Cyrillic.

    e.g. replace all characters that are neither cyrillic nor (latin) digits:

    $string = '1a2b3cйdцeуfкбxюy';
    echo preg_replace('/[^0-9\p{Cyrillic}]/u', '*', $string);
    

    You can find the documentation for that feature under http://www.pcre.org/pcre.txt "Unicode character properties".
    And you have to specify the PCRE8 flag (u) as described at http://docs.php.net/reference.pcre.pattern.modifiers

提交回复
热议问题