Happy New Year
[squirrelmail.git] / functions / decode / iso_8859_1.php
CommitLineData
d672fcab 1<?php
4b4abf93 2
d6c32258 3/**
d672fcab 4 * decode/iso8859-1.php
d672fcab 5 *
d672fcab 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.
31841a9e 8 *
353d074a 9 * @copyright 2003-2018 The SquirrelMail Project Team
4b4abf93 10 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
31841a9e 11 * @version $Id$
d6c32258 12 * @package squirrelmail
13 * @subpackage decode
14 */
15
16/**
17 * Decode iso8859-1 string
18 * @param string $string Encoded string
19 * @return string $string Decoded string
d672fcab 20 */
df8c4d6d 21function charset_decode_iso_8859_1 ($string) {
e53c9681 22 // don't do decoding when there are no 8bit symbols
23 if (! sq_is8bit($string,'iso-8859-1'))
d672fcab 24 return $string;
25
6c4e2e9b 26 $string = preg_replace_callback("/([\201-\237])/",
27 create_function ('$matches', 'return \'&#\' . ord($matches[1]) . \';\';'),
28 $string);
d672fcab 29
30 /* I don't want to use 0xA0 (\240) in any ranges. RH73 may dislike it */
31 $string = str_replace("\240", '&#160;', $string);
32
6c4e2e9b 33 $string = preg_replace_callback("/([\241-\377])/",
34 create_function ('$matches', 'return \'&#\' . ord($matches[1]) . \';\';'),
35 $string);
d672fcab 36 return $string;
37}