|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2016-10-05 11:40 UTC] cmb@php.net
-Status: Open
+Status: Verified
[2016-10-05 11:40 UTC] cmb@php.net
[2016-10-05 11:49 UTC] cmb@php.net
-Status: Verified
+Status: Not a bug
-Package: Filter related
+Package: PCRE related
-Assigned To:
+Assigned To: cmb
[2016-10-05 11:49 UTC] cmb@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 13:00:02 2025 UTC |
Description: ------------ Modern Russian alphabet contains 33 letters. Standard UTF8 rage covers 32 of most common, but misses one ('ё'). Standard U+0410 А … U+044F я Exceptions: U+0401 Ё U+0451 ё http://www.utf8-chartable.de/unicode-utf8-table.pl?start=1024 [а-я] range should include 'ё' (and [А-Я] — 'Ё') letter, but actually do not. Test script: --------------- $ cat cyr_io.php <?php $str = "еще"; $valid_string_expr = '/(*UTF8)[^а-я]/'; if (filter_var($str, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"$valid_string_expr"))) === FALSE) echo ("string contains only cyrillic small letters\n"); else echo ("string contains NOT only cyrillic small letters\n"); $str = "ещё"; if (filter_var($str, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"$valid_string_expr"))) === FALSE) echo ("string contains only cyrillic small letters\n"); else echo ("string contains NOT only cyrillic small letters\n"); ?> Expected result: ---------------- $ php cyr_io.php string contains only cyrillic small letters string contains only cyrillic small letters Actual result: -------------- $ php cyr_io.php string contains only cyrillic small letters string contains NOT only cyrillic small letters