immanuelx2 Posted June 27, 2009 Share Posted June 27, 2009 Hey guys, wondering if someone could point me to a sample preg_replace() function that searches for an URL of any kind and encloses it in tags The one I found so far is <?php $text = preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', '<a href="$1">$1</a>', $text); but for some reason, if the URL contains a dash "-" it thinks the URL has ended.. ??? Thanks in advance Link to comment https://forums.phpfreaks.com/topic/163931-solved-enclose-url-in-tags/ Share on other sites More sharing options...
.josh Posted June 28, 2009 Share Posted June 28, 2009 kind of simple but it should do the trick most of the time....idea here is that if something starts with http:// or https:// then it's probably a url, so it just grabs everything up to the first space it finds. The theory being that a url would not have a space in it (or it would be urlencoded so it wouldn't be a physical space char) $text = preg_replace('~(https?://[^\s]+)~i','<a href= "$1">$1</a>',$text); Link to comment https://forums.phpfreaks.com/topic/163931-solved-enclose-url-in-tags/#findComment-864870 Share on other sites More sharing options...
immanuelx2 Posted June 28, 2009 Author Share Posted June 28, 2009 Thank you so very much, worked beautifully!! Link to comment https://forums.phpfreaks.com/topic/163931-solved-enclose-url-in-tags/#findComment-864875 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.