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

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

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

 

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

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

тема: Помогите с регуляркой: проскакивают лишние символы
 
 автор: maloi_m3   (30.07.2011 в 10:22)   письмо автору
 
 

Здравствуйте, столкнулся с проблемой, не могу сделать чтоб останавливалось на символе "
preg_match_all('/="http:\/\/((.+?)[.](jpg|png|jpeg))["]/', $patern, $masUrls);

В основном всё работает, но иногда проскакивают вот такие варианты.
http://www.wreckedexotics.com/newphotos/exotics2011jul25/2db7_20110720_2.shtml">

  Ответить  
 
 автор: cheops   (30.07.2011 в 10:25)   письмо автору
 
   для: maloi_m3   (30.07.2011 в 10:22)
 

Попробуйте вместо (.+?) использовать [^>"]+

  Ответить  
 
 автор: f111   (30.07.2011 в 11:05)   письмо автору
 
   для: maloi_m3   (30.07.2011 в 10:22)
 

наверно вопрос решён, но не могу не предложить свой вариант
$masUrls = <<<TEXT
<a href="http://www.wreckedexotics.com/newphotos/exotics2011jul25/2db7_20110720_2.shtml">
<a href="http://www.wreckedexotics.com/fsf.jpg">
TEXT;
preg_match_all('{http[^"]+(?:jpg|png|jpeg)}i', $patern, $masUrls);

найдёт одно совпадение
1 : http://www.wreckedexotics.com/fsf.jpg

или просто так
{http[\.\w\/?=:&]+(?:jpg|png|jpeg)}i

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

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