Портирование PHP5 на устаревшую версию PHP4, DOMDocument - PullRequest
0 голосов
/ 17 августа 2010

Я пытаюсь заставить часть своего php5-кода работать на устаревшем сервере, который, к сожалению, не может быть обновлен (компьютер клиента).

if (!isset($docRoot)) {
    $docRoot = $_SERVER['DOCUMENT_ROOT'];
}

// generic storage class for the words/phrases
$t = new stdClass();
$t->lang = $curPage->lang;



// load xml translations, could split this into different files..
$translations = new DOMDocument();
$translations->load($docRoot."/xml/translations.xml");

$words = $translations->getElementsByTagName("word");
$count = 0;
foreach( $words as $word )
{

    $name = $word->getAttribute('name');
    $trans = $word->childNodes;

    if ($trans->length > 0) {
        for($i = 0; $i < $trans->length; $i++) {
            $child = $trans->item($i); 



            if ($child->nodeName == $curPage->lang) {
                $t->$name = $child->nodeValue;
            }


        }
    }

}

Я дошел до того, что выяснил, что в domdocument отсутствует тонна методов в php4 (это php4.4.4, на блоке centos), некоторые из которых, похоже, заменены глобальной статическойфункции ... domxml_open_file()?XML также имеет кодировку UTF8, а сайт находится в ISO-8859-1 ..

Итог здесь, я потерян!Как заставить этот материал работать на устаревшем php4?Есть ли какие-либо ошибки в использовании юникода на php4 ..?

Спасибо.

1 Ответ

1 голос
/ 19 августа 2010

Ну, мне удалось это сделать - к счастью, я нашел на ister.org бэкпорт простых функций php5 XML, которые прекрасно работают на php4.4. Я переписал много кода, и он не был слишком сложным.

Надеюсь, это поможет кому-то еще в будущем.

...