Добрый день\вечер\утро.
Такой вопрос, есть какой то кусок текста с ссылкой на какую то страницу и ссылкой на картинку, нужно заменить простую ссылку на кликабельную, а ссылку на картинку на саму картинку.
Т.е. например оригинал:
Цитата:бла бла бла http:\\anysite.ru бла бла бла бла http:\\othersite.ru\images\3242\logo.png бла
И должно на выходе получиться так
Цитата:бла бла бла <a href="http:\\anysite.ru">anysite.ru</a> бла бла бла бла <img src="http:\\othersite.ru\images\3242\logo.png"/> бла
С регулярками туго, пол дня эксперементировал в итоге ни чего не получается. Что бы менять ссылки нагуглил это, и это работает (рабочий кусок)
Пытался модифицировать его же для картинок, но так и не вышло, не обрабатывает он мое условие что в конце должен быть определеный формат файла и все ссылки меняет на картинки (не рабочий куоск)
PHP:
скопировать код в буфер обмена
$text=preg_replace("/(http:\/\/)?([a-zA-Z0-9\-.]+\.[a-zA-Z0-9\-]+([\/]([a-zA-Z0-9_\/\-.?&%=+])*)(\/[a-zA-Z0-9](\.jpg|\.png|\.gif|\.bmp))?)/", '<img src="http://$2"/>', $text);
Так же 2ой вопрос, так как текст будет прогоняться сначала через одну, затем через другую, надо как то огородится, ибо один и тот же кусок заменяется. Думал сделать, так. Сначала прогоняем через функцию которая подсовывает картинки вместо ссылок затем прогоняем через функцию которая меняет простые ссылки на кликабельные. А что бы вторая функция не разрывала тэг картинки и всё не портила, думал сделать что если ссылка начинается с src=" то заменять не надо. Думал сделать это так
но не работает это.
Помогите составить правильную регулярку. Или может какой то более удобный способ подскажите?
Спасибо.
|