Я использую следующее регулярное выражение для поиска и замены любого внешнего URL-адреса в своем контенте и преобразования его в активную ссылку.Автоматическое преобразование URL-адресов в активную ссылку
$content = preg_replace('#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,[email protected]\[\]+]*)#is', '\\1<a href="/_goto.php?exturl=http://\\2" target="_blank" class="external" rel="nofollow">\\2</a>', $content);
$content = preg_replace('/<a(.*?)>www./', '<a$1>', $content);
Он отлично работает, но не поймать URLs между <li>
или другими тегами.
Ex: <li>www.google.com</li>
Как я могу изменить его для работы в этом случаи? Благодаря
Это сообщение может помочь вам: http://stackoverflow.com/questions/4217406/php-add-link-to-a-url- in-a-string – Peon
Ваши шаблоны выглядят довольно сложными для этой задачи. Является ли требование, чтобы внешние URL-адреса начинались с первого символа строки и, таким образом, что-то вроде '$ content = 'My http: // google.com'' не конвертировалось? – svoop
В сети множество примеров. Можете ли вы сузить тип URL-адреса, который вы хотите совместить, так как есть так много комбинаций, что он дует. Есть ли формат, который вы можете гарантировать – gwillie