valtido Posted August 30, 2009 Share Posted August 30, 2009 I'm trying to get a string e.g. $text = "I have visited domain.tld and i like it."; I would like that the followings: domain.tld www.domain.tld anything.domain.tld http://domain.tld http://anything.domain.tld and change it to ... $text = "I have visited <a href="domain.ltd">domain.tld</a> and i like it."; or any other way a user might enter a url or an external link. Does anyone know a pattern to make this possible? Thanks Link to comment https://forums.phpfreaks.com/topic/172474-preg_replace-string-to-url/ Share on other sites More sharing options...
.josh Posted August 30, 2009 Share Posted August 30, 2009 Would be a million times easier on you to have a separate field for them to enter in the site they liked. Link to comment https://forums.phpfreaks.com/topic/172474-preg_replace-string-to-url/#findComment-909287 Share on other sites More sharing options...
RussellReal Posted August 30, 2009 Share Posted August 30, 2009 <?php function checkForHttp($a) { if (strpos($a,'http://') !== false) { $a = 'http://'.$a; } else { if (strpos($a,'https://') !== false) { $a = 'http://'.$a; } } return "<a href='{$a}'>{$a}</a> "; } $tld = array('com','co.uk','tk','net','org','biz','tv','me','info'); preg_replace("/((?:https?:\/\/)?(?:[a-z0-9-]\.)*".implode('|',$tld).")\s/ie",'checkForHttp(\'$1\')',$text); ?> Link to comment https://forums.phpfreaks.com/topic/172474-preg_replace-string-to-url/#findComment-909387 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.