function encoded_header($raw)
{
mb_internal_encoding('UTF-8');
mb_regex_encoding('UTF-8');
if ( mb_eregi('[^][<>a-z0-9 _".()/;,:+@|-]', $raw) )
{
$chunks = str_split($raw, 20 );
$encoded = array();
foreach ( $chunks as $chunk )
{
array_push($encoded, base64_encode( $chunk ) );
}
return '=?utf-8?B?' . implode('?==?utf-8?B?', $encoded) . '?=';
}
else
{
return $raw;
}
}
上記の関数が呼び出されると、次のようになります。
Error: [2] - mb_eregi() [function.mb-eregi0]: mbregex compile err: premature end of char-class
最近、php をバージョン 5.3.3 に更新したところ、このエラーが発生しました。以前のバージョン 5.0.2 は問題なく動作しました。
私はグーグルを検索しましたが、有用なものは何も思いつきませんでした。このエラーを修正する方法について何か提案はありますか?