[PHP-users 33106] Re: mb_ereg_replace について

KeyKey ihavetwopens @ gmail.com
2008年 1月 16日 (水) 16:15:30 JST


KeyKeyと申します。

>「申」の文字コードの問題のようです。

>> preg_replaceがマルチバイトに対して問題がないのか、2点気になっています。
>>なにかもっと良い解決策はないでしょうか?

あまり美しいとはいえませんが
文字コードにしてしまうのはどうでしょうか?

$pattern  = bin_to_hex('申込番号  ');
$pattern .= '(\d{1,5})';
$pattern .= bin_to_hex('  ');

if (preg_match_all('/' . $pattern . '/m', $subject, $match)) {
    print_r($match[1]);
}

function bin_to_hex($str)
{
    $str = bin2hex($str);
    $str = '\x' . chunk_split($str, 2, '\x');
    $str = substr($str, 0, -2);

    return $str;
}

これならSJIS,EUC,UTF-8どれでも実行することができ
ます。


PHP-users メーリングリストの案内