Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Паттерн для поиска ссылок на картинки
 
 автор: Master_Sergius   (02.11.2013 в 23:37)   письмо автору
 
 

Задача такова - найти все ссылки на картинки, но чтобы вернуло лишь то, что находится внутри кавычек.
Пример. Входные данные: <img border bla-bla src="myimages/img1.png">
Выходные данные: myimages/img1.png

Фокус в том, что для опережающей проверки, неизвестное кол-во символов между img и src (

п.с. вот, додумался до такого, немного кривовато, как по мне
pattern = '(?<=img|src=){2}".*?"'

  Ответить  
 
 автор: Deed   (03.11.2013 в 00:27)   письмо автору
 
   для: Master_Sergius   (02.11.2013 в 23:37)
 

/<img[^>]+?src=('|")([^\s]+?)('|")([^<]+?|)>/i
Искомое - в $2.

  Ответить  
 
 автор: Master_Sergius   (03.11.2013 в 00:47)   письмо автору
 
   для: Deed   (03.11.2013 в 00:27)
 

Неплохой вариант, вот только не все ЯП поддерживают ссылки на группы, или как оно там называется... Но ваш вариант запишу, спасибо!

  Ответить  
 
 автор: duhon   (04.11.2013 в 12:47)   письмо автору
 
   для: Master_Sergius   (03.11.2013 в 00:47)
 

что такое ЯП?

отталкиваясь от регулярки написанной выше, сделал
/<img[^>]+?src=('|")\K\S+?(?=\1)/i

которая в обычной PCRE библиотеке выдаст тебе только содержание src

З.Ы. Кстати метaсимвол \K как раз и cделан помочь с проблемой ограничений в Lookbehind, но в урезанных версиях pcre он не задестован

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования