2010-10-29 25 views
2

我有一個描述節點中的圖像供稿。我怎樣才能解析出圖像的網址,而只是描述文字,而沒有換行符?如何使用SimpleXML解析節點中的圖像?

<description>&lt;img src='http://example.com/100915gignac-clement_g_70x70.jpg'&gt;&lt;/img&gt;&lt;br /&gt;(Source: Example.com) Québec annonce qu'une autorisation ministérielle sera nécessaire pour une prise de participation de plus de 30&amp;#160;% de la nouvelle société fusionnée Investissement Québec dans une entreprise.</description> 

回答

1

將描述節點的內容傳遞給另一個SimpleXmlElement。

$sxe = new SimpleXmlElement("<description>&lt;img src='http://example.com/100915gignac-clement_g_70x70.jpg'&gt;&lt;/img&gt;&lt;br /&gt;(Source: Example.com) Québec annonce qu'une autorisation ministérielle sera nécessaire pour une prise de participation de plus de 30&amp;#160;% de la nouvelle société fusionnée Investissement Québec dans une entreprise.</description>"); 
$img = new SimpleXMLElement("<root>$sxe</root>"); 
$desc = (string) $img; 
$src = (string) $img->img['src']; 

var_dump($desc, $src); 

出於某種原因,SimpleXML顯然是html_decodes實體本身。

+0

沒有骰子......... 警告:SimpleXMLElement :: __構造()[simplexmlelement .--構造]:實體:行1:分析器錯誤:輸入不正確UTF-8,指示編碼!字節:0xE9 0X62 0x65 0x63 警告:的SimpleXMLElement :: __構建體()[的SimpleXMLElement .--構造]:5gignac-clement_g_70x70.jpg」 > </IMG > < BR/>(來源:Example.com)朐 警告:的SimpleXMLElement :: __結構()的SimpleXMLElement .--構建]:^ 致命錯誤:@ace它正常工作,這裏未捕獲的異常「異常」有消息「字符串不能被解析爲XML」 – ace 2010-10-29 14:51:23

+0

。你添加了根標籤嗎?他們是需要的。此外,如果實體未解碼,請在使其成爲新的SimpleXmlElement之前,通過html_entitiy_decode運行詳細節點。 – Gordon 2010-10-29 14:59:02

+2

現在工作,出於某種原因必須通過utf8_encode函數來運行它。非常感謝! – ace 2010-10-29 15:09:07