| 
<?php/*
 arrayToXml
 pear config-get php_dir
 pear install XML_Serializer
 
 ??? ????????? UTF-8 ????? ????? ? ????? XML/Util.php:876 ?????????? ??????? isValidName
 ?????? 879
 if (!preg_match('/^[[:alpha:]_]\\z/u', mb_substr($string,0,1))) {
 # ???????? ??????????? u ? ????? ??????? ??????? ? UTF mb_substr($string,0,1) ?????? string{0}
 ?????? 887
 $match = preg_match(
 '/^([[:alpha:]_]([[:alnum:]\-\.]*)?:)?'
 . '[[:alpha:]_]([[:alnum:]\_\-\.]+)?\\z/u',# ???????? ??????????? u
 $string
 );
 To support UTF-8 tags, you need to modify the isValidName function in the XML / Util.php file: 876
 line 879
 if (!preg_match('/^[[:alpha:]_]\\z/u', mb_substr($string,0,1))) {
 # add u modifier and select first character in UTF mb_substr($string,0,1) instead of string{0}
 line 887
 $match = preg_match(
 '/^([[:alpha:]_]([[:alnum:]\-\.]*)?:)?'
 . '[[:alpha:]_]([[:alnum:]\_\-\.]+)?\\z/u',# Add u modifier
 $string
 );
 */
 return function ($array, $options = array(
 "indent" => "    ",
 "linebreak" => "\n",
 "typeHints" => false,
 "addDecl" => true,
 "encoding" => "UTF-8",
 "rootName" => "root",
 // "rootAttributes" => array("version" => "0.91"),
 "defaultTagName" => "item",
 "contentName" => "_content",
 "attributesArray" => "_attributes"
 )) {
 require_once "XML/Serializer.php";
 $serializer = new XML_Serializer($options);
 if ($serializer->serialize($array)) {
 return $serializer->getSerializedData();
 } else {
 return null;
 }
 }?>
 |