Помогу с регвырами

Статус
В этой теме нельзя размещать новые ответы.

zek24

Мой дом здесь!
Команда форума
Модератор
Регистрация
14 Ноя 2009
Сообщения
811
Реакции
310
  • Автор темы
  • Модер.
  • #1
Привет,
нужна практика с регвырами.
Так что, если вам лень или не умеете, то можете смело обращаться.
Не обещаю, что помогу, но точно постараюсь.
 
Про симпл_хтмл_дом знаю, но он иногда сбоит при кривом хтмл на странице. Поэтому нужна именно регулярка.
Как я понимаю нужно сначала найти тег a , а потом уже искать title. Но опять же тег "a" может находиться где угодно на странице...

тогда можно обнаружить <a> по href
а потом в <а> искать title закрытый в " " или ' '


$fff='
<a title="ЭТОТ ТЕКСТ ПОЛУЧИТЬ" href=""> </a>
<title="ЭТОТ ТЕКСТ ПОЛУЧИТЬ" href a> ...
< href title=\'ЭТОТ ТЕКСТ ПОЛУЧИТЬ\' a> ..
<href="" title="ЭТОТ ТЕКСТ ПОЛУЧИТЬ" a> ..
';

$math="@<[^>]*href[^>]*>@";
preg_match_all($math, $fff , $res);

foreach ($res[0] as $link){
$math="@<[^>]*title=[\'|\"]?([^>\'\"]*)[\'|\"]?@";
preg_match($math, $link , $titl);
echo $titl[1];
}
 
< li title="href and a" />
< img title="href and a" src="" />
< li title="href=a" />
< img title="href=a" src="" />
По идее попадет под регулярку "@<[^>]*href[^>]*>@"

p.s. может показаться, что я прикапываюсь, но я ищу универсальную регулярку под свою задачу.
p.s.s. Сам я решил задачу с помощью оператора или "|" перебором разных вариантов и то есть подозрение, что что-то забыл.
 
Всем привет помогите с регуляркой. делаю парсер картинок из вк групп там при получении страницы такой код:
HTML:
    <div class="wall_text"><a class="author" href="http://vk.com/mudakoff">MDK</a> <div id="wpt-10639516_13898400"><div class="page_post_queue_wide"><div class="page_post_sized_thumbs  clear_fix" style="width: 537px; height: 309px;"><a onclick="return showPhoto('-10639516_298255289', 'wall-10639516_13898400', {temp:{base:&quot;http://cs14101.userapi.com/c7006/v7006252/&quot;,x_:[&quot;9ee/GSkpfq7xD8w&quot;,604,348]}}, event)" style="width: 537px; height: 309px;" class="page_post_thumb_wrap  page_post_thumb_last_column page_post_thumb_last_row"><img src="mudakoff_files/GSkpfq7xD8w.jpg" style="" class="page_post_thumb_sized_photo" height="309" width="537"></a></div></div>
<div class="page_post_queue_narrow"><div class="page_post_sized_thumbs  clear_fix" style="width: 337px; height: 194px;"><a onclick="return showPhoto('-10639516_298255289', 'wall-10639516_13898400', {temp:{base:&quot;http://cs14101.userapi.com/c7006/v7006252/&quot;,x_:[&quot;9ee/GSkpfq7xD8w&quot;,604,348]}}, event)" style="width: 337px; height: 194px;" class="page_post_thumb_wrap  page_post_thumb_last_column page_post_thumb_last_row"><img src="mudakoff_files/GSkpfq7xD8w.jpg" style="" class="page_post_thumb_sized_photo" height="194" width="337"></a></div></div></div></div>

из него надо выдрать и склеить ссылку на картинку
HTML:
 {base:&quot;http://cs14101.userapi.com/c7006/v7006252/&quot;,x_:[&quot;9ee/GSkpfq7xD8w&quot;,604,348]}
станет
HTML:
 http://cs14101.userapi.com/c7006/v7006252/9ee/GSkpfq7xD8w.jpg
 
Код:
{base:&quot;(http://.*?)&quot;,x_:\[&quot;(.*?)&quot;
В группе 1 первая часть ссылки, в группе 2 - вторая. Как брать расширение файла сложно сказать имея на руках всего один пример.

Тему закрываю, потому что это какая-то свалка: запросы и решения вперемешку, не понятно что к чему относится, кто нуждается в помощи т.д.
Создавайте отдельные темы на каждый запрос, это не только облегчит жизнь тем кто спрашивает и тем, кто может помочь, но еще и тем, кто в будущем будет искать ответ на аналогичный вашему вопрос.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху