<?php class XML { // Dla PHP5 function __construct( $strFileName ) { { } else { // W razie niepowodzenia, zaladowanie pliku z opisem problemu } } // Dla PHP4 function XML( $strFileName ) { $this -> __construct( $strFileName ); } function getContent( $strTagName ) { preg_match_all( '|<'. $strTagName .'(.*)>(.*)</'. $strTagName .'>|isU', $this -> resFileContent, $arrContentTags ); { return $arrContentTags[2][$intIterTags]; } } function getAttributes( $strTagName, $strAttributeName ) { preg_match_all( '|<'. $strTagName .'(.*)>(.*)</'. $strTagName .'>|isU', $this -> resFileContent, $arrContentTags ); { { for( $intIterAttributes = 0; $intIterAttributes < count( $arrContentAttributes ); $intIterAttributes++ ) { if( $arrContentAttributesElements[0] == $strAttributeName ) { // Zabezpiecznie przed roznymi sposobami okreslenia wartosci atrybutow $arrDeleteQuotes[] = '''; $arrDeleteQuotes[] = '\"'; } } } } } } ?>
XML:
<? xml version="1.1" encoding="ISO-8859-2" ?> <index> <page>Strona główna</page> <author>kicaj_</author> <mail antispam="yes">kicaj@m-cz.net</mail> <content htmlcode="yes"> Witamy w Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras ligula. Cras eu sapien. Maecenas dignissim elit non dui interdum cursus. Nam sit amet velit vel dolor adipiscing tristique. Cras elementum ultricies felis. <img src="img.jpg" align="right" style="float: right; margin-top: 5px; margin-left: 3px;">Donec at risus quis nisl egestas nonummy. In augue. Maecenas tempor, leo ut bibendum convallis, odio mauris rhoncus leo, a viverra libero odio vitae lorem. In id lacus. Ut non ante ac nisl bibendum blandit. Maecenas varius dolor in ligula. Vivamus dapibus suscipit mi. Proin fermentum augue non sem. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Proin quis urna. Nunc in magna. Fusce eget lectus.<br /> <br /> Nam quam. Proin fermentum convallis nunc. Praesent dapibus ligula eget turpis. Phasellus a libero non sem tincidunt posuere. Etiam congue massa. Mauris odio. Pellentesque lorem. Vestibulum sem ipsum, tempor sit amet, sagittis at, viverra quis, pede. Sed quis sem. Curabitur vitae mi id tellus vulputate luctus. Quisque non risus eu dolor aliquet blandit. Phasellus ipsum velit, commodo nec, tristique et, consectetuer sit amet, diam.<br /> <br /> </content> </index>
Zastosowanie:
<?php $startXML = new XML( 'resource.xml' ); if( $startXML -> getAttributes( 'mail', 'antispam' ) == 'yes' ) { } else { } ?>
Wlasnie taki parser, byl mi potrzebny do jednej strony, bardzo prosty przykład, prosta klasa, jesli bedzie rozbudowywana to takze opublikuje ja.