Опитвам се да използвам регулярни изрази, за да извлека CDATA от следния XML канал: 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);
Получавам грешка:
Предупреждение: preg_match() [function.preg-match]: Компилацията е неуспешна: липсва прекратяване] за символен клас при отместване 15
Мислех, че това може да ми даде подробности след квадратната скоба '[', което е това, което търся.
Оценявам всяка помощ, опитвам това от няколко часа и нямам успех.