как подружить simplexml_load_file с html ?

R
На сайте с 22.12.2009
Offline
94
714

гружу файл xml

<item>
<type>1</type>
<name>название</name>
<text>описание</text>
<foto>/image/pic1.gif|/image/pic2.jpg</foto>
<url>http://www.site.ru/id.html</url>
</item>

код такой

$xmlfile = simplexml_load_file($FileName);

foreach ($xmlfile->item as $ob)

{

$type=$ob->type;

$name=$ob->name;

$text=$ob->text;

$photos_a=$ob->foto;

$url=$ob->url;

....

запихивание этих данных в MYSQL

....

}

если в <text>.....</text>

присутствуют тэги HTML например <text><b>у</b> попа<br> была <li>собака он</li> ее <li>любил</text>

то php даже не идет на foreach ($xmlfile->item as $ob)

а пишет ошибку

PHP Warning: simplexml_load_file(): http://site.ru/xml/load.xml:9: parser error : Entity 'nbsp' not defined in /var/www/site.ru/www/loadxml.php

можно конечно загонять в xml предварительно преобразовав текст который попадет в <text>.....</text>

$str = str_ireplace(array('<','>','&',"'",'"'),array('&lt;','&gt;','&amp;','&apos;','&quot;'),$str);

но хотелось бы чтобы в xml уже было с нормальными тэгами

или может как то можно заставить simplexml_load_file хавать только определенные тэги

dkameleon
На сайте с 09.12.2005
Offline
386
#1
runseoman:
или может как то можно заставить simplexml_load_file хавать только определенные тэги

обертывайте нужные блоки в CDATA

Дизайн интерьера (http://balabukha.com/)
R
На сайте с 22.12.2009
Offline
94
#2

сделал

<text><![CDATA[.........]]></text>

simplexml_load_file проглотил и не поморщился

спасибо

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий