<?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; 
    } 
}?>
 
 |