ID:               16642
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Closed
 Bug Type:         Feature/Change Request
 Operating System: Linux 2.4.17 (self compiled)
 PHP Version:      4.1.2
 New Comment:

Its not as simple as you think, specialy for non-preg-users.
I could not find any real documentation wich arguments could be used
for preg_replace, only the ones at ereg_replace, posted from a user.
I needed half a week to construct the things you see here...


Previous Comments:
------------------------------------------------------------------------

[2002-04-16 13:41:25] [EMAIL PROTECTED]

The same could be said of addSlashes, htmlspecialchars, htmlentities
and
a multitude of other functions. I find your argument lacking.

Cheers,
Rob.

------------------------------------------------------------------------

[2002-04-16 13:31:23] [EMAIL PROTECTED]

No, we can't include a function for stuff like this. This can be easily
done in PHP, so there's no need for a native function.

------------------------------------------------------------------------

[2002-04-16 13:27:07] [EMAIL PROTECTED]

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 this bug report at http://bugs.php.net/?id=16642&edit=1

Reply via email to