[PHP] url afkorten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • isomis
  • Registratie: Mei 2005
  • Laatst online: 19-09 21:30
Heb het volgende stukje code:

PHP:
1
    $text = preg_replace('/(?<!\")(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/',' <a href="http://\\3">link</a> ', $text);


Jammer genoeg ben ik niet zo regexp guru. Het url afkorten werkt nu, echter als iemand een url plaatst en enter ramt zet ik de enter om met nl2br. Hierdoor komt er soms achter een url <br /> te staan met als gevolg dat "<br meegenomen wordt in de link".

dus je krijgt dan <a href="http://www.isomis.nl<br">link</a>.

Ik wil nu nog een stukje toevoegen aan me regexp, dat als er in een url < voorkomt dat hij dan daarstopt. Kan iemand mij helpen?

bedankt!

Webontwikkelaar - Kitesurfer | Gamer


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Gewoon de nl2br uitvoeren na de regexp.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Bitage
  • Registratie: April 2006
  • Laatst online: 19-05-2024
Waarschijnlijk ga je eerst nl2br uitvoeren voordat je de regex gebruikt. Dit moet je omdraaien: dus eerst de regex en dan de nl2br.

edit:
Damn you, Janoz, te laat

[ Voor 12% gewijzigd door Bitage op 08-05-2008 14:33 ]


Acties:
  • 0 Henk 'm!

  • isomis
  • Registratie: Mei 2005
  • Laatst online: 19-09 21:30
ok duh :) stomme fout van me. :9 komt door de warmte 8) al de hele dag mee bezig

THNX anyway,

[ Voor 51% gewijzigd door isomis op 08-05-2008 14:35 ]

Webontwikkelaar - Kitesurfer | Gamer