diff options
Diffstat (limited to 'includes/normal/UtfNormalUtil.php')
-rw-r--r-- | includes/normal/UtfNormalUtil.php | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/includes/normal/UtfNormalUtil.php b/includes/normal/UtfNormalUtil.php index 9b96a073..e8fec936 100644 --- a/includes/normal/UtfNormalUtil.php +++ b/includes/normal/UtfNormalUtil.php @@ -76,9 +76,11 @@ function hexSequenceToUtf8( $sequence ) { * @private */ function utf8ToHexSequence( $str ) { - return rtrim( preg_replace( '/(.)/uSe', - 'sprintf("%04x ", utf8ToCodepoint("$1"))', - $str ) ); + $buf = ''; + foreach ( preg_split( '//u', $str, -1, PREG_SPLIT_NO_EMPTY ) as $cp ) { + $buf .= sprintf( '%04x ', utf8ToCodepoint( $cp ) ); + } + return rtrim( $buf ); } /** |