регулярное выражение для URL и изображения в тексте или HTML - PullRequest
1 голос
/ 11 марта 2009

У меня заканчиваются идеи о лучшей реализации регулярных выражений для этой проблемы.

Пример ввода пользователя:

bla bla bla http://foo.com bla bla bla http://tinypic.com/boo.png bla bla bla

Ищите решение, которое обнаружит URL-адрес, не связанный с изображением, и превратит его в ссылку, а также превратит URL-адрес в код для вставки изображения (тег IMG).

так что результат будет:

bla bla bla <a href="http://foo.com">http://foo.com</a> bla bla bla <img src="http://tinypic.com/boo.png" /> bla bla bla

Относящиеся

Ответы [ 2 ]

4 голосов
/ 11 марта 2009

Разбейте его на несколько шагов.

Сначала найдите ссылки с чем-то вроде:

/http:[^ ,]+/i

Затем замените совпавшую строку новым контентом, основанным на типе, который вы можете определить, сопоставив заменяемую строку с чем-то вроде:

/\.(jpg|png|gif|bmp)$/i
0 голосов
/ 11 марта 2009

Ищите решение, которое обнаружит URL, не относящийся к изображению

Нет такой вещи, как URL изображения или не изображения. Наличие (или отсутствие) расширения файла ‘.gif’ / ‘. Jpeg’ / ‘. Jpg’ / ‘. Png’ никак не связано с тем, указывает ли URL-адрес на изображение.

например. «http://www.example.com/getimage/3” может вернуть очень хороший JPEG. Невозможно узнать, на какой медиа-тип указывает URL-адрес, не извлекая его (используя GET или, что лучше, HEAD) и проверяя, что возвращаемый «Content-Type» - это «изображение / нечто».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...