El problema es que me he quedado encallado en algo que supongo que no es muy complejo.
La idea era redefinir el XML para que contuviera tanto los nombres como los contenidos de las variables, así:
english.xml:
Código:
A partir de esto, necesito lograr un array tal que así:<language> <cadena> <nom>un</nom> <contingut>one</contingut> </cadena> <cadena> <nom>dos</nom> <contingut>two</contingut> </cadena> <cadena> <nom>tres</nom> <contingut>three</contingut> </cadena> </language>
Cita:
Pero no he logrado más que esto:Array ( [un] => one [dos] => two [tres] => three )
Cita:
El código que estoy usando, es:Array ( [un] => un [one] => one [dos] => dos [two] => two [tres] => tres [three] => three )
Código PHP:
<?php
class lang {
var $word = array();
function loadLanguage($lang = "english.xml") {
$xml = implode("", file(dirname(__FILE__)."/".$lang));
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parse_into_struct($parser, $xml, $vals, $tags);
xml_parser_free($parser);
$i = 0;
foreach($vals as $key => $value) {
if(!empty($value['value'])) {
$this->word[$value['value']] = $value['value'];
$i++;
}
}
return $this->word;
}
function viewInfo() {
$this->loadLanguage();
return print_r($this->word);
}
}
$lang = new lang();
$lang -> viewInfo();
$labels =& $lang -> loadLanguage();
echo $labels['FILE'];
?>