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 に答える