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 Quote 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. Quote 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); ?> Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.