shameless pule for help

Jul 21, 2006 17:05


update: fixed with help from plautus (and an interesting alternate explanation from tylerpistol)

I'm writing some PHP to take XML from a file. The file's in ISO-8859-1, and contains French accents and typesetter's quotes in its character data and some of its attributes. I've taken care to make the parser adapt itself to the character set and demanded that its target character set is also ISO-8859-1:

$xml_parser = xml_parser_create(""); xml_parser_set_option($xml_parser,XML_OPTION_TARGET_ENCODING,"ISO-8859-1"); xml_parser_set_option($xml_parser,XML_OPTION_SKIP_WHITE, 1); xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING, 0); ...
I set up a tag handler to turn an "in_prose" variable on and off (based, not surprisingly, on whether the parser is inside a "prose" element), when it's on I want to suck it into an array element using my cdataHandler function:

... function cdataHandler($parser,$data){ if ($_SESSION["in_prose"]){ $_SESSION["evenements"][$_SESSION["current_event"]]["prose"]=$data; } }
Alas, it tends to chop off the beginning of the text. It's not predictably before any given character, or any predictable length, as far as I can tell. It's just dismembered when I echo it back. Any idea what might be causing this? Any safety measures I can take?

comment explosion, programming, work, help!

Previous post Next post
Up