Есть товары в xml
<offer id="11111" type="vendor.model" available="false">
<delivery>true</delivery>
<model>Model</model>
<description>Товар такой-то — и тут его длинное описание.
Сезон: демисезон/лето</description>
<param name="Размер" unit="RU">40</param>
<param name="Пол">Мужской</param>
<param name="Сезон">Демисезон</param>
</offer>
Все парсит хорошо, кроме поля description. На выходе получаю либо только пару первых символов или слов, либо до первого пробела....
В данном случае получу "Товар такой-то" и все, остальная часть строки обрезается...
Как с этим бороться?
$parser = xml_parser_create('UTF-8');
xml_set_element_handler($parser,
function ($parser, $name, $attrs) {
switch ($name) {
case "DESCRIPTION":
$this->product_description_true = true;
break;
}
},
function ($parser, $name) {
switch ($name) {
case "DESCRIPTION":
$this->product_description_true = false;
break;
}
}
);
xml_set_character_data_handler($parser,
function ($parser, $data) {
...
if ($this->product_description_true) {
$this->xml_products[$this->index_product]['description'] = $data;
}
...
}
);
$remove = file_get_contents(stripslashes('http://....xml'));
// Удаление символов в тексте
$remove = str_replace(array("&", "&"), array("&", "&"), $remove);
xml_parse($parser, $remove, true);
xml_parser_free($parser);