Столкнулся со следующей проблемой: занимаясь парсингом сайта (HTML DOM Parser) оказался в неприятной ситуации с извлечением информации из тега.
Имеется массив $el, содержащий следующие строки:
<a href="test">TEST1</a>
<span id="info">INFO</span>
<a href="test2">TEST2</a>
Мне следует просто вывести содержимое тегов. Сделал следующим образом:
$txt = $el->innertext;
preg_match ( '/<a[^>]+?[^>]+>(.*?)<\/a>/i' , $txt , $matches);
$info['TEST1:'] = str_replace("TEST1:","",$matches[1]);
preg_match ( '/<a[^>]+?[^>]+>(.*?)<\/a>/i', $txt , $matches); // не знаю как вывести содержимое второго тега <a></a>
$info['TEST2:'] = str_replace("TEST2:","",$matches[1]);
preg_match ( '/<span[^>]+?[^>]+>(.*?)<\/span>/i' , $txt , $matches);
$info['INFO:'] = str_replace("INFO:","",$matches[1]);
Вынести TEST1 и INFO удалось, а TEST2, к сожалению, нет. Как это можно сделать (вынести содержимое второго тега
<a></a>
?
Так же есть массив, который содержит:
<span class="date">01 декабря 2013 — 02:20</span> // например
Как вынести отдельно дату (до тире), и время (после), используя регулярные выражения?