Jump to content

Preg_replace string - to URL


valtido

Recommended Posts

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

<?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);

?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.