Я пытаюсь сделать часть моего кода php5 на устаревшем сервере, который, к сожалению, не может быть обновлен (клиентская машина).Портирование PHP5 на устаревший PHP4, DOMDocument quibbles
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? Есть ли какие-либо проблемы с использованием unicode на php4 ..?
Спасибо.
Честно говоря, вам, возможно, повезло сделать параллельную установку PHP 5.3.3 в FastCGI, чем переносить этот код на неподдерживаемую четырехлетнюю версию 4.x. – Charles
Не вариант, к сожалению .. – dmp
На самом деле было не так уж плохо Чарльз, просто нужно было найти приличную библиотеку XML, которая была поддержана на php4. – dmp