Bug #16642: replace url with a link

From: Date: Tue, 16 Apr 2002 17:27:08 +0000
Subject: Bug #16642: replace url with a link
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-5122@lists.php.net to get a copy of this message
From: andreas.schempp@gmx.ch Operating system: Linux 2.4.17 (self compiled) PHP version: 4.1.2 PHP Bug Type: Feature/Change Request Bug description: replace url with a link I could not find any function to replace an url within a string with a link if someone writes http://www.php.net, I want I to be replaced with <a href="http://www.php.net> I saw this on your page too, its easy to recreate your function myself with $string = preg_replace("((http://)([a-zA-Z1-9\-_\.]+\.[a-zA-Z1-9\-_]+\.[a-z]{2,3}(/[a-z\-/\._\?=&]+)?))", "<a href=\"\\1\\2\" target=\"_blank\">\\0</a>", $string); but wouldnt it be nice to replace an url like www.php.net too? For now, I use $string = preg_replace("((http://|ftp://)?([a-zA-Z1-9\-_\.]+\.[a-zA-Z1-9\-_]+\.[a-z]{2,3}(/[a-z\-/\._\?=&]+)?))", "<a href=\"\\1\\2\" target=\"_blank\">\\0</a>", $string); to convert every url to an link. but if you have an url like www.php.net, it will create a link like <a href="www.php.net">, wich will not work. To prevent this, I use $string = preg_replace("((href=\")([a-zA-Z1-9\-_\.]+\.[a-zA-Z1-9\-_]+\.[a-z]{2,3}(/[a-z\-/\._\?=&]+)?))", "href=\"http://\\2", $string); wich will replace anything like href="something.php.net with href="http://something.php.net I think it will be nice for other people to include (something like) this function in php, because many people would use it thanks -- Edit bug report at http://bugs.php.net/?id=16642&edit=1 -- Fixed in CVS: http://bugs.php.net/fix.php?id=16642&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=16642&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=16642&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=16642&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=16642&r=support Expected behavior: http://bugs.php.net/fix.php?id=16642&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=16642&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=16642&r=submittedtwice

« previous php.bugs (#5122) next »