"&" é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