@khodos_dmitry

Как составить регулярку с отрицанием?

Нужна регулярка, которая ищет из ссылок выделяет те, которые ведут не на страницы, а на картинки, например. Т.е. с расширением. Но расширением отличным от html, php и тд. Следует учесть, что страницы бывают без расширения.
Я составил такую:
preg_match("#\.(?!htm|html|asp|aspx|php)$#Uum", $url)

И еще много всяких перепробовал, но не могу добиться желаемого результата.
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
@khodos_dmitry Автор вопроса
В общем, я решил проблему двумя if
if (preg_match("#/[^.]*\.[^.]*$#Uui", $url)) {
	if (preg_match("#(?<!htm|html|asp|aspx|php)$#Uui", $url)) {
		continue;
	}
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Azperin
Дилетант
Дак если нужны картинки, то и ищите картинки
if(preg_match('/\.(jpg|png|jpeg|bmp|gif|svg)$/', $url)) {
  //картинка
} else {
  //не картинка
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы