| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > Объясните плиз, что не так в моей регулярке |
| Автор: Frozen_Coyote 11.10.2012, 11:05 | ||||
| Приветствую! Друзья, не могу сообразить, что не так в моей регулярке. Итак, задача: найте в неком html-тексте все теги картинок и обработать их callback функцией. Смысл в том, что нужны картинки как просто <img ..... /> так и <a href....><img ..../ ></a> Пишу следующее:
логика моя была такова: (<а> открывающий>) - может быть, может не быть <сама картинка> (<a> закрывающий) - может быть, может не быть/ Что сделала эта скотина: Она посчитала следующий фрагмент HTML-текста удовлетворяющий моему шаблону:
ну и вопрос: подскажите пожалуйста, каким же паттерном мне дергать либо картинки, либо картинки в обрамлении а-тега, без вот вышерассказанного безобразия? Благодарю |
| Автор: Fortop 11.10.2012, 12:20 |
| попробуй так (<img[^>]+/>) |
| Автор: Frozen_Coyote 11.10.2012, 12:33 |
| не, не работает.. да и смысл каков - мне главное обломать жадность, т.е. найти не прсото ближайший к img тег а, а именно обрамляющий строго каринку.. а он стреляет до первого попавшегося |
| Автор: Fortop 11.10.2012, 13:47 |
| Что значит не работает? Он не выполняет свою задачу? |
| Автор: Frozen_Coyote 11.10.2012, 14:29 |
| именно! как не преподнеси в паттерн шаблон тега картинки <img\s.+?> или (<img[^>]+/>) - это никак не влияет на захват тега А который находится не рядом а выше (см пример мой). Тег картинки то он ловит что по моему варианту что по твоему - одинаково правильно. А вот если <img> окружить тегом <a> - начинается лажа |
| Автор: ksnk 11.10.2012, 15:21 | ||
К примеру вот так можно
Надо только учитывать, что 1,2,3 - это значение с сылкой, а 4 - чистый img. |