我試圖使用正則表達式從以下XML提要提取CDATA:http://www.patrickarundell.net/THREE-IE-FEED.asp正則表達式
我的代碼如下:
$xml = file_get_contents('http://www.patrickarundell.net/THREE-IE-FEED.asp');
$arr = array();
preg_match('/(CDATA)(.*)/', $xml, $arr);
echo '<pre>';
print_r($arr);
echo '</pre>';
輸出是:
Array
(
[0] => CDATA[
[1] => CDATA
[2] => [
)
我知道我沒有正確的表達方式,但是當我嘗試以下語句時:
preg_match('/(<![CDATA[)(.*)/', $xml, $arr);
我得到一個錯誤:
Warning: preg_match() [function.preg-match]: Compilation failed: missing terminating ] for character class at offset 15
我認爲方括號「[」,這就是我正在尋找後,這可能給我的細節。
任何幫助表示讚賞,我一直試圖這幾個小時,沒有運氣。
您是否考慮過XML解析器? – BalusC 2011-04-27 20:47:52
是的,我使用SimpleXMLElement解析文件的其餘部分,並且工作正常。它不會給我任何問題。但是我無法使用SimpleXMLElement獲取CDATA部分的細節。如果您看到XML文件,則實際星座詳細信息位於節點下。當我參考這個節點時,它會將所有數據放在一起。 –
Stephen
2011-04-27 23:01:08