X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Fencode%2Fus_ascii.php;h=2c75c93b1d8ea4b2c45b63aefda48e6d5c95afa1;hp=ecf7cf9a9b7e5c6666ff5493aefec686933334f2;hb=353d074afac6827c90f4bb03e846c5e453d3b5b1;hpb=47ccfad452e8d345542d09e59112cac317cffed8 diff --git a/functions/encode/us_ascii.php b/functions/encode/us_ascii.php index ecf7cf9a..2c75c93b 100644 --- a/functions/encode/us_ascii.php +++ b/functions/encode/us_ascii.php @@ -6,7 +6,7 @@ * takes a string of unicode entities and converts it to a us-ascii encoded string * Unsupported characters are replaced with ?. * - * @copyright © 2004-2006 The SquirrelMail Project Team + * @copyright 2004-2018 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_us_ascii ($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","unicodetousascii('\\1')",$string); - // $string=preg_replace("/&#[xX]([0-9A-F]+);/e","unicodetousascii(hexdec('\\1'))",$string); + $string=preg_replace_callback("/&#([0-9]+);/",'unicodetousascii',$string); return $string; } @@ -36,10 +35,11 @@ function charset_encode_us_ascii ($string) { * Don't use it or make sure, that functions/encode/us_ascii.php is * included. * - * @param int $var decimal unicode value + * @param array $matches array with first element a decimal unicode value * @return string us-ascii character */ -function unicodetousascii($var) { +function unicodetousascii($matches) { + $var = $matches[1]; if ($var < 128) { $ret = chr ($var); @@ -48,4 +48,3 @@ function unicodetousascii($var) { } return $ret; } -?> \ No newline at end of file