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

  • Автор темы Автор темы Kost9lbrik
  • Дата начала Дата начала

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= уже можно было обрезать текст??
 
Доброй ночи друзья. Подскажите правильную регулярку, если у меня такой текст
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
не знаю, откуда вы взяли такие результаты, если у меня такие: http://prntscr.com/aavr8e в этом случае просто указывайте "что брать: первое".
 
  • Оценить
Реакции: Kost9lbrik
Код:
Развернуть Свернуть Копировать
(?<=<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>
Все решилось установкой флага "Самое короткое совпадение". Спасибо за помощь
 

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