我试图使用正则表达式从以下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