Wie ist es möglich ein HTML-Dokument, mit PHP4, wie eine XML-Datei 
zu Parsen? Ich habe es mit SAX versucht aber musste leider festellen
das es so nicht funktioniert.
	
Resultat:
	
							
						
					zu Parsen? Ich habe es mit SAX versucht aber musste leider festellen
das es so nicht funktioniert.
PHP-Code:
	
	
<?php
class FormPraser {
    var $strXML = array();
    var $_parser;
    function FormPraser() {
        $this->_parser = xml_parser_create();
        
        xml_set_object($this->_parser, &$this);
        xml_set_element_handler(
            $this->_parser,
            "startHandler",
            "endHandler"
        );
        xml_set_character_data_handler(
            $this->_parser,
            "cdataHandler"
        );
        xml_parser_set_option(
            $this->_parser,
            XML_OPTION_CASE_FOLDING,
            0
        );
    }
    
    /**
     * handle start element
     *
     * @access private
     * @param  resource  xml parser resource
     * @param  string    name of the element
     * @param  array     attributes
     */
    function startHandler($xp, $name, $attribs) {
        printf('handle start tag: %s<br />', $name);
    }
    /**
     * handle start element
     *
     * @access private
     * @param  resource  xml parser resource
     * @param  string    name of the element
     */
    function endHandler($xp, $name) {
        printf('handle end tag: %s<br />', $name);
    }
    
    /**
     * handle character data
     *
     * @access private
     * @param  resource  xml parser resource
     * @param  string    character data
     */
    function cdataHandler($xp, $cdata) {
        printf('CDATA: %s<br />', $cdata);
    }
    
    function setInputString($strXML) {
        if (is_string($strXML)) {
            $this->strXML = preg_split('/(\r\n|\r|\n)/', $strXML);
        }
    }
    
    function parse() {
        for ($i = 0, $j = sizeof($this->strXML); $i < $j; ++$i) {
            $res = xml_parse(
                $this->_parser,
                $this->strXML[$i],
                !array_key_exists(($i + 1), $this->strXML)
            );
            
            if ($res == false) {
                printf(
                    "XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($this->_parser)),
                    xml_get_current_line_number($this->_parser)
                );
                break;
            }
        }
        xml_parser_free($this->_parser);
    }
}
$sax =& new FormPraser();
$sax->setInputString(join('', file('index.htm')));
$sax->parse();
Code:
	
	XML error: SYSTEM or PUBLIC, the URI is missing at line 1
 
          

 )
)
							
						 Hat jemand einen Anhaltspunkt wie eine HTML-Datei wie eine XML-Datei Parsen kann.
 Hat jemand einen Anhaltspunkt wie eine HTML-Datei wie eine XML-Datei Parsen kann.
							
						 Moderator
 Moderator 
							
						
Kommentar