[php] regex probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een probleempje met me bbcode script. Als ik bv

www.test.com intyp, dan maakt hij er geen url van.

Typ ik in:

www.test.com
www.test.com

dan maakt hij van de 2e een url, maar van de eerste niet, dit zelfde geld voor mail en http://www.test.com

Dit is me code hieronder, verder kwam ik niet. Snap niet waarom hij het pas bij de 2e gaat doen.

PHP:
1
2
3
4
5
<?
        $bericht = preg_replace("#([\n ])([a-z]+?)://([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]+)#i", "\\1<a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a>", $bericht); 
        $bericht = preg_replace("#([\n ])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]*)?)#i", "\\1<a href=\"http://www.\\2.\\3\\4\" target=\"_blank\">www.\\2.\\3\\4</a>", $bericht); 
        $bericht = preg_replace("#([\n ])([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $bericht); 
?>

Acties:
  • 0 Henk 'm!

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 04-09 19:14
Waarom regexp je op een newline? Moet de URL dan per sé op een nieuwe regel staan?

Dat is denk je je probleem, type bij je test maar eens zoiets in (de . is een newline):
code:
1
2
3
.
www.test.com
www.test.com


Dan werkt het wel...

[ Voor 6% gewijzigd door zeroxcool op 08-05-2003 13:21 ]

zeroxcool.net - curity.eu