X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fencode%2Fiso_8859_1.php;h=5df473c5a6746b3b01d07db4321b41933c3a8785;hb=f197ec8835b64975ff47dc6cd86dae75605baebf;hp=c30853c0b241a0543cb754dc7d8525aa42c637e6;hpb=ae5dddc065f9501f267c4edaf68a066835da915f;p=squirrelmail.git diff --git a/functions/encode/iso_8859_1.php b/functions/encode/iso_8859_1.php index c30853c0..5df473c5 100644 --- a/functions/encode/iso_8859_1.php +++ b/functions/encode/iso_8859_1.php @@ -6,7 +6,7 @@ * takes a string of unicode entities and converts it to a iso-8859-1 encoded string * Unsupported characters are replaced with ?. * - * @copyright 2004-2011 The SquirrelMail Project Team + * @copyright 2004-2016 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail @@ -22,8 +22,7 @@ function charset_encode_iso_8859_1 ($string) { // don't run encoding function, if there is no encoded characters if (! preg_match("'&#[0-9]+;'",$string) ) return $string; - $string=preg_replace("/&#([0-9]+);/e","unicodetoiso88591('\\1')",$string); - // $string=preg_replace("/&#[xX]([0-9A-F]+);/e","unicodetoiso88591(hexdec('\\1'))",$string); + $string=preg_replace_callback("/&#([0-9]+);/",'unicodetoiso88591',$string); return $string; } @@ -36,10 +35,11 @@ function charset_encode_iso_8859_1 ($string) { * Don't use it or make sure, that functions/encode/iso_8859_1.php is * included. * - * @param int $var decimal unicode value + * @param array $matches array with first element a decimal unicode value * @return string iso-8859-1 character */ -function unicodetoiso88591($var) { +function unicodetoiso88591($matches) { + $var = $matches[1]; if ($var < 256) { $ret = chr ($var);