"&" értelmezése PHP SAX feldolgozásnál
Most ismerkedem az XML-el. Kezdésnek egy egyszerű RSS olvasót barkácsolnék, de ha az XML fájlban "&" karaktersorozat van, akkor megőrül.
A hibára kihegyezett letisztitott kód:Ha a "&" karaktersorozatot str_replace()-el kicserélem pl.: "_"-ra, akkor jó, de enélkül ezt adja egy linkre:
és ugye ennek kellene lenni:
olyan mintha minden "&"-ra újra meghívná a dataHandler()-t. Mi lehet a gond?
üdv.: Zsolt
■ A hibára kihegyezett letisztitott kód:
- <?php
- $file = "http://hup.hu/backend.php";
- function startElement($parser, $name, $attribs) { // <name>
- global $link;
- if ($name == "LINK")
- $link = true;
- }
- function dataHandler($parser, $data){ // data
- global $link;
- if ($link)
- echo $data."<br>";
- }
- function endElement($parser, $name){ //</name>
- global $link;
- if ($name == "LINK")
- $link = false;
- }
- $xml_parser = xml_parser_create();
- xml_set_character_data_handler($xml_parser, 'dataHandler');
- xml_set_element_handler($xml_parser, "startElement", "endElement");
- if (!($fp = fopen($file, "r"))) {
- die("could not open XML input");
- }
- while ($xml_data = fread($fp, 4096)) {
- if (!xml_parse($xml_parser, $xml_data, feof($fp))) {
- die(sprintf("XML error: %s at line %d",
- xml_error_string(xml_get_error_code($xml_parser)),
- xml_get_current_line_number($xml_parser)));
- }
- }
- xml_parser_free($xml_parser);
- ?>
http://www.hup.hu/modules.php?name=News
&
file=article
&
sid=9773
&
mode=nested
&
file=article
&
sid=9773
&
mode=nested
és ugye ennek kellene lenni:
http://www.hup.hu/modules.php?name=News&file=article&sid=9773&mode=nested
olyan mintha minden "&"-ra újra meghívná a dataHandler()-t. Mi lehet a gond?
üdv.: Zsolt