Fix rcube_charset::clean() for case when mbstring and iconv are not installed

pull/276/head
Aleksander Machniak 10 years ago
parent eb58b6c537
commit 966a9086a5

@ -789,30 +789,29 @@ class rcube_charset
// 1-byte character // 1-byte character
if ($ord <= 0x7F) { if ($ord <= 0x7F) {
if ($seq) { if ($seq !== '') {
$out .= preg_match($regexp, $seq) ? $seq : ''; $out .= preg_match($regexp, $seq) ? $seq : '';
$seq = '';
} }
$seq = '';
$out .= $chr; $out .= $chr;
} }
// first (or second) byte of multibyte sequence // first byte of multibyte sequence
else if ($ord >= 0xC0) { else if ($ord >= 0xC0) {
if (strlen($seq) > 1) { if ($seq !== '') {
$out .= preg_match($regexp, $seq) ? $seq : ''; $out .= preg_match($regexp, $seq) ? $seq : '';
$seq = ''; $seq = '';
} }
else if ($seq && ord($seq) < 0xC0) {
$seq = ''; $seq = $chr;
}
$seq .= $chr;
} }
// next byte of multibyte sequence // next byte of multibyte sequence
else if ($seq) { else if ($seq !== '') {
$seq .= $chr; $seq .= $chr;
} }
} }
if ($seq) { if ($seq !== '') {
$out .= preg_match($regexp, $seq) ? $seq : ''; $out .= preg_match($regexp, $seq) ? $seq : '';
} }

Loading…
Cancel
Save