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版工作正常 我搜索谷歌,但没有提出任何有用的东西。有人对如何修复此错误有任何建议吗?
答案 0 :(得分:4)
mb_eregi()
所以用户preg_match();
试试这个:
preg_match('/[^][<>a-z0-9 _".()\;,:+@|-]/i', $row);