X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fincludes%2Fhtml_entity_decode_php4.php;h=f5c21d8bfb5596b337ffa00b939bd25ef873962d;hb=33dfc21a26f08e9ac19048bbcf80cce2351a6cfe;hp=1ecad710f053238c35af49248154a976780ae129;hpb=9967d9b22e1200e516aadf98ffcbcc65ac1c35bb;p=fa-stable.git diff --git a/reporting/includes/html_entity_decode_php4.php b/reporting/includes/html_entity_decode_php4.php index 1ecad710..f5c21d8b 100644 --- a/reporting/includes/html_entity_decode_php4.php +++ b/reporting/includes/html_entity_decode_php4.php @@ -332,12 +332,20 @@ function html_entity_decode_php4($text_to_convert) { "<" => "<" ); $return_text = strtr($text_to_convert, $htmlentities_table); - $return_text = preg_replace('~&#x([0-9a-f]+);~ei', 'code_to_utf8(hexdec("\\1"))', $return_text); - $return_text = preg_replace('~&#([0-9]+);~e', 'code_to_utf8(\\1)', $return_text); + + if (version_compare(PHP_VERSION, '5.3.0') >= 0) // 07.11.2014, from php 5.3.0 fixed deprecated preg_replace with the /e flag. Joe. + { + $return_text = preg_replace_callback('~&#x([0-9a-f]+);~i', function ($m){ return chr(hexdec($m[1]));}, $return_text); + $return_text = preg_replace_callback('~&#([0-9]+);~', function ($m){ return chr($m[1]);}, $return_text); + } + else + { + $return_text = preg_replace('~&#x([0-9a-f]+);~ei', 'code_to_utf8(hexdec("\\1"))', $return_text); + $return_text = preg_replace('~&#([0-9]+);~e', 'code_to_utf8(\\1)', $return_text); + } return $return_text; } //============================================================+ // END OF FILE //============================================================+ -?> \ No newline at end of file