подскажите с регуляркой

Kost9lbrik

Client
Регистрация
07.10.2014
Сообщения
110
Благодарностей
10
Баллы
18
Доброй ночи друзья. Подскажите правильную регулярку, если у меня такой текст
HTML:
  <div><div><div style="float:left; padding:10px;"><img src="/photo/mini/mybride2/1457020020hpoi.jpg" alt="" onclick="addPhoto(192731,'mybride2/1457020020hpoi.jpg')" style="cursor:pointer;"><br><a href="/mess/photo/192731">Delete</a></div>
<div style="float:left; padding:10px;"><img src="/photo/mini/mybride2/1457020033hpyr.jpg" alt="" onclick="addPhoto(192732,'mybride2/1457020033hpyr.jpg')" style="cursor:pointer;"><br><a href="/mess/photo/192732">Delete</a></div><div style="clear:both;"></div></div></div>
В котором нужно вытянут вот это /photo/mini/mybride2/1457020020hpoi.jpg.
С одним фото вот такая регулярка у меня работала нормально (?<=<img\ src=").*(?="\ alt=)
Но если фото несколько, то получается вот такой результат
HTML:
/photo/mini/mybride2/1457020020hpoi.jpg" alt="" onclick="addPhoto(192731,'mybride2/1457020020hpoi.jpg')" style="cursor:pointer;"><br><a href="/mess/photo/192731">Delete</a></div><div style="float:left; padding:10px;"><img src="/photo/mini/mybride2/1457020033hpyr.jpg
Как указать чтоб при первой встрече с " alt= уже можно было обрезать текст??
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 557
Благодарностей
8 727
Баллы
113
Доброй ночи друзья. Подскажите правильную регулярку, если у меня такой текст
HTML:
  <div><div><div style="float:left; padding:10px;"><img src="/photo/mini/mybride2/1457020020hpoi.jpg" alt="" onclick="addPhoto(192731,'mybride2/1457020020hpoi.jpg')" style="cursor:pointer;"><br><a href="/mess/photo/192731">Delete</a></div>
<div style="float:left; padding:10px;"><img src="/photo/mini/mybride2/1457020033hpyr.jpg" alt="" onclick="addPhoto(192732,'mybride2/1457020033hpyr.jpg')" style="cursor:pointer;"><br><a href="/mess/photo/192732">Delete</a></div><div style="clear:both;"></div></div></div>
В котором нужно вытянут вот это /photo/mini/mybride2/1457020020hpoi.jpg.
С одним фото вот такая регулярка у меня работала нормально (?<=<img\ src=").*(?="\ alt=)
Но если фото несколько, то получается вот такой результат
HTML:
/photo/mini/mybride2/1457020020hpoi.jpg" alt="" onclick="addPhoto(192731,'mybride2/1457020020hpoi.jpg')" style="cursor:pointer;"><br><a href="/mess/photo/192731">Delete</a></div><div style="float:left; padding:10px;"><img src="/photo/mini/mybride2/1457020033hpyr.jpg
Как указать чтоб при первой встрече с " alt= уже можно было обрезать текст??
Код:
(?<=<img\ src=")[\w\W]*?(?="\ alt)
upload_2016-3-4_1-59-14.png
 
  • Спасибо
Реакции: Kost9lbrik

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
787
Благодарностей
237
Баллы
43
не знаю, откуда вы взяли такие результаты, если у меня такие: http://prntscr.com/aavr8e в этом случае просто указывайте "что брать: первое".
 
  • Спасибо
Реакции: Kost9lbrik

Kost9lbrik

Client
Регистрация
07.10.2014
Сообщения
110
Благодарностей
10
Баллы
18
Код:
(?<=<img\ src=")[\w\W]*?(?="\ alt)
не знаю, откуда вы взяли такие результаты, если у меня такие: http://prntscr.com/aavr8e в этом случае просто указывайте "что брать: первое".
Извините, оказывается не весь текст скопировал для которого нужно применить регулярку.
Код:
<script type="text/javascript">
function addPhoto(id,photo) {
    document.getElementById('inputuploadedphoto').value = id;
    if(photo != '') {
        document.getElementById('uploadedphoto').innerHTML = '<img src="/photo/full/' + photo + '" /><br /><span onclick="addPhoto(0,\'\')" style="cursor:pointer; font-size:14px; color:#900;">remove</span>';
    } else {
        document.getElementById('uploadedphoto').innerHTML = 'no uploaded photo';
    }
}
</script>
<div><div><div style="float:left; padding:10px;"><img src="/photo/mini/mybride2/1457020020hpoi.jpg" alt="" onclick="addPhoto(192731,'mybride2/1457020020hpoi.jpg')" style="cursor:pointer;"><br><a href="/mess/photo/192731">Delete</a></div>
  <div style="float:left; padding:10px;"><img src="/photo/mini/mybride2/1457020033hpyr.jpg" alt="" onclick="addPhoto(192732,'mybride2/1457020033hpyr.jpg')" style="cursor:pointer;"><br><a href="/mess/photo/192732">Delete</a></div><div style="clear:both;"></div></div></div>
Все решилось установкой флага "Самое короткое совпадение". Спасибо за помощь
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)