1

我在 MediaWiki Source 中找到了一个函数,它将带有变音符号的字符串转换为 HEX 格式。

现在我想将格式化的字符串转换回带有变音符号的字符串。

功能:

    $Umlaut = "löschen";

    $out = preg_replace_callback("/([\\xc0-\\xff][\\x80-\\xbf]*)/",'stripForSearchCallback', $Umlaut);

    function stripForSearchCallback( $matches ) {
         return 'u8' .  bin2hex( $matches[1] );
    }

    echo $out;

输出:“lu8c3b6schen”

现在我想将“lu8c3b6schen”转换回“löschen”。

请问我该怎么做?

4

1 回答 1

2

尝试这样的事情:

$string = "lu8c3b6schen";

$out = preg_replace_callback("/u8([a-f0-9]{4})/",'unstrip', $string);

function unstrip( $matches ) {
    $decoded = hex2bin( $matches[1] );
    return $decoded ? $decoded : $matches[1];
}

echo $out;
于 2013-06-23T18:38:54.367 回答