Preg_match PHP правильно составить.
Подскажите.
Нужно из текста выковарить следующее :
< a куда то ссылка любая href >
< img любой src >
< /a >
Как составить правильно ?
'/<img .*?(?=src)src=\"([^\"]+)\"/si' - вот таким образом я достаю чисто картинку. А как её вытащить обвёрнотую в < a > ??
preg_match_all( '/(.*?)<\/a>/is', $post_details->post_content, $allpics ); вроде суппер
Вот так правильно
preg_match_all( '/< a.*?>(.*?)<\/a>/is', $string, $result );
майл ру ест теги потому перед первым а поставил пробел. Но он там не нужен.
Парсить html регулярками - только грузить сервер и народ смешить. Для этого есть специальные библиотеки. Я пользуюсь nokogiri. Mail не дает вставить ссылку на нее, поищи на GitHub. Элементы выбираются css селектором
$saw = new nokogiri($html);
$saw->get('a')->toArray(); //отдаст все ссылки на странице
$saw->get('ul.panel-nav-top li.current')->toArray(); //получит текущий пункт навигации
и т. д.