Mailinglisten-Archive |
Hallo, wie speichere und lese ich einen XML Container, der einen Zeilenumbruch in einem Attribut enthält? Das Einlesen des XML muß mit PHP/XML (Expat) erfolgen. Generiert wird manuell. DOM steht per Definition nicht zur Verfügung. Für die Kodierung benutze ich derzeit: utf8_encode( preg_replace( array( "_(at)_<_(at)_", "_(at)_>_(at)_", "_(at)_'_(at)_", '_(at)_"_(at)_', "_(at)_&_(at)_", "_(at)_[\n\r]_(at)_"), array("<", ">", "'", """, "&", '
'), $value ) ); Zur Dekodierung wird folgendes benutzt: utf8_decode( preg_replace( array("_(at)_<_(at)_", "_(at)_>_(at)_", "_(at)_'_(at)_", "_(at)_"_(at)_", "_(at)_&_(at)_"), array("<", ">", "'", '"', "&"), $value ) ); Geparst wird mit: $parser = _(at)_xml_parser_create(); xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); xml_parse_into_struct($parser, $xml, &$values, &$index); Es kommt zu einer Verdoppelung der Zeilenumbrüche. Und nein, die Entfernung von _(at)_[\n\r]_(at)_ aus der Kodierungsanweisung reißt es nicht raus. Wie macht man es richtig? Ulf
php::bar PHP Wiki - Listenarchive