ПРи добавлении поста пользователем у него есть возможность добавить длинную ссылку, для этого я при помощи функции укорачиваю ее Код (Text): function shortlink($text) { $text = preg_replace("/http:\/\/([^\/]+)[^\s]*/", "<a href='$0' class='tooltip' title='$0'>http://$1</a>", $text); return $text; } Пользователь пользуется редактором NicEdit и проблема в том, что он также может добавить картинку в пост, предварительно загрузив ее на хостинг imageshuck.us. И получается что картинка в посте имеет такой вид <img src="http://img508.imageshack.us/img508/7919/89179789.jpg" width="600">. Но т.к. мне приходится прогонять весь пост в поисках ссылок, он эту картинку тоже обрезает и делает короткой и картинка не показывается. Помогите с регуляркой, чтобы она не обрезала ссылки если имеется название imageshack.us PS после обрезки ссылка на изображение выглядит так: <img src="<a href='http://img508.imageshack.us/img508/7919/89179789.jpg"' class='tooltip' title='http://img508.imageshack.us/img508/7919/89179789.jpg"'>http://img508.imageshack.us</a>
Сделал так, если кому интересно. Код (Text): function shortlink($text) { $text = preg_replace("/[\s]+http:\/\/([^\/]+)[^\s]*/", "<a href='$0' class='tooltip' title='$0'>http://$1</a>", $text); return $text; } Работает. Ссылки укорачивает, а ссылки на картинки не трогает
А зачем экранировать слэш? Специальные символы, это: ^, $, (, ), [, ], \, ., |, ?, *, +, их нужно экранировать.