$xml
);
+ if(function_exists('preg_replace_callback_array')){
$xml = preg_replace_callback_array(
[
"/\&([a-z\d\#]+)\;/i" => function($matches) {
return '&#'.ord($matches[1]).';';
}
], $xml);
+ }
+ else {
+ $xml = preg_replace(array("/\&([a-z\d\#]+)\;/i",
+ "/\&/",
+ "/\#\|\|([a-z\d\#]+)\|\|\#/i",
+ "/([^a-zA-Z\d\s\<\>\&\;\.\:\=\"\-\/\%\?\!\'\(\)\[\]\{\}\$\#\+\,\@_])/e"
+ ),
+ array("#||\\1||#",
+ "&",
+ "'&#'.ord('\\1').';'"
+ ),
+ $xml
+ );
+ }
return $xml;
}