|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-01-02 08:45 UTC] zilvinas at speros dot lt
Description:
------------
The function mb_eregi_replace() and/or function mb_ereg_replace() with 'i' option is not caseinsensitive for multibyte characters.
Reproduce code:
---------------
<?php
mb_regex_encoding('UTF-8');
$pattern = utf8_encode('?');
$replace = 'X';
$subject = utf8_encode('?BER ?ber');
$result = mb_eregi_replace($pattern, $replace, $subject);
//$result = mb_ereg_replace($pattern, $replace, $subject, 'i');
echo utf8_decode($result) . "\n";
?>
Expected result:
----------------
XBER Xber
Actual result:
--------------
?BER Xber
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 14:00:01 2025 UTC |
A more simplistic example to reproduce the problem: Reproduce code: --------------- <? mb_internal_encoding('UTF-8'); mb_regex_encoding('UTF-8'); $pattern = '?'; //s 'crown' $replace = 'X'; $subject = '?iltas, ?iltas'; $result = mb_eregi_replace($pattern, $replace, $subject); echo $result; ?> Expected result: -------------- Xiltas, Xiltas Actual result: -------------- ?iltas, Xiltas