6 * This file contains iso-8859-1 decoding function that is needed to read
7 * iso-8859-1 encoded mails in non-iso-8859-1 locale.
9 * @copyright 2003-2022 The SquirrelMail Project Team
10 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
12 * @package squirrelmail
17 * Decode iso8859-1 string
18 * @param string $string Encoded string
19 * @return string $string Decoded string
21 function charset_decode_iso_8859_1 ($string) {
22 // don't do decoding when there are no 8bit symbols
23 if (! sq_is8bit($string,'iso-8859-1'))
26 $string = preg_replace_callback("/([\201-\237])/",
27 (check_php_version(5, 3, 0)
28 ?
function($matches) { return '&#' . ord($matches[1]) . ';'; }
29 : create_function ('$matches', 'return \'&#\' . ord($matches[1]) . \';\';')
33 /* I don't want to use 0xA0 (\240) in any ranges. RH73 may dislike it */
34 $string = str_replace("\240", ' ', $string);
36 $string = preg_replace_callback("/([\241-\377])/",
37 (check_php_version(5, 3, 0)
38 ?
function($matches) { return '&#' . ord($matches[1]) . ';'; }
39 : create_function ('$matches', 'return \'&#\' . ord($matches[1]) . \';\';')