X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fencode%2Fcp1256.php;h=ad45ee29f9a1c8b0d266c54599a2bdd01cc0533c;hb=2d24b622c4c2e78a2e43ba1bed9877556de18de9;hp=e5f9904f3a856418ac08eb87946f8abb4aeed86d;hpb=c0d968010e710870fdfee2f22d7cc9fad370c7a9;p=squirrelmail.git diff --git a/functions/encode/cp1256.php b/functions/encode/cp1256.php index e5f9904f..ad45ee29 100644 --- a/functions/encode/cp1256.php +++ b/functions/encode/cp1256.php @@ -6,7 +6,7 @@ * takes a string of unicode entities and converts it to a cp1256 encoded string * Unsupported characters are replaced with ?. * - * @copyright 2004-2012 The SquirrelMail Project Team + * @copyright 2004-2017 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_cp1256 ($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","unicodetocp1256('\\1')",$string); - // $string=preg_replace("/&#[xX]([0-9A-F]+);/e","unicodetocp1256(hexdec('\\1'))",$string); + $string=preg_replace_callback("/&#([0-9]+);/",'unicodetocp1256',$string); return $string; } @@ -36,10 +35,11 @@ function charset_encode_cp1256 ($string) { * Don't use it or make sure, that functions/encode/cp1256.php is * included. * - * @param int $var decimal unicode value + * @param array $matches array with first element a decimal unicode value * @return string cp1256 character */ -function unicodetocp1256($var) { +function unicodetocp1256($matches) { + $var = $matches[1]; $cp1256chars=array('160' => "\xA0", '162' => "\xA2",