здравствуйте!
проблема такая:
есть xml-ка с новостями. вот такая:
Код:
<?xml version="1.0" encoding="windows-1251"?>
<dataroot>
<news>
<date>29.08.2005</date>
<rubrica>сайт</rubrica>
<content><![CDATA[Текст новости тут текст новости.]]></content>
</news>
</dataroot>
и php-скрипт, который её парсит и выводит. вот такой:
Код:
include_once ('xml_functions.php');
$xmlfilename = 'news.xml';
$news = array();
$currentNews = null;
$index = null;
$rubricator = 'news';
$parser = xml_parser_create();
xml_set_element_handler($parser,'saxStartElement','saxEndElement');
xml_set_character_data_handler($parser,'saxCharacterData');
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,false);
$xml = join('',file($xmlfilename));
if (!xml_parse($parser,$xml,true))
die(sprintf('Ошибка XML: %s в строке %d',
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
xml_parser_free($parser);
foreach ($news as $n)
{
echo ($n['rubrica']."\n");
echo ('<b>['.substr($n['date'],0,2).'.'.substr($n['date'],3,2).'.'.substr($n['date'],6,4).']</b><br>'."\n");
echo ('<p>'.$n['content'].'</p><br>'."\n");
}
так вот. если умозрительно добавить ещё пару сотен новостей в xml-ку, то возникает коллапс: в некоторых случаях по неуловимой мною логике скрипт обрезает содержимое тэга
content. причём, обрезает с начала, оставляя конец.
количество оставляемых символов каждый раз разное.
как это? что это вообще? почему такое может быть? (голову сломал)
заранее спасибо!