代码之家  ›  专栏  ›  技术社区  ›  danp

将php5移植到旧php4,domdocument-quibbles

  •  0
  • danp  · 技术社区  · 14 年前

    我正在尝试让一些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上使用unicode有什么问题吗?

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  1
  •   danp    14 年前

    好吧,我设法使这一切顺利进行-幸运的是,我发现 ister.org php5的simpleXML函数的一个反向端口,在php4.4上工作得很好。我已经重写了很多代码,这并不太棘手。

    希望以后能帮助别人。