[php] reguliere expressie \\digit ?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben druk bezig om met reguliere expressies om te leren gaan.
Ik heb onder andere hier al - half - gelezen wat ik wil weten, maar helaas is het me niet duidelijk. Vandaar deze post.

Stel ik heb deze string:

PHP:
1
$tekst = "[mail=test@test.com]linknaaremailadres[/mail]";


Wat ik wil weten is hoe ik dit om kan zetten naar een html tag. Op zich gaat het best goed en heb ik het al wel, alleen wat ik niet snap is hoe ik het gedeelte test@test.com kan gaan gebruiken in mijn html tag.

In mn boek staat dat het te maken heeft met \\digit en dat dit het gedeelte tussen haakjes pakt oid, maar ik snap er eerlijk gezegd niet veel van... :(
Wat ik al heb:

PHP:
1
2
$tekst = ereg_replace('\\[mail=[a-z+\.+@]+\.[a-z+\.+]+\]', "<a href=\"\">", $tekst);
$tekst = ereg_replace("\\[/mail\]", "</a>", $tekst);


Waar het dus om gaat, hoe ik een stuk van de te selecteren string gebruik in de nieuwe string....

Acties:
  • 0 Henk 'm!

  • Kaasplank
  • Registratie: Februari 2001
  • Niet online
\\1 en verder

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Maar hoe selecteer ik dan welk stuk ik gebruik van de te doorzoeken string?

Acties:
  • 0 Henk 'm!

  • Kaasplank
  • Registratie: Februari 2001
  • Niet online
je kunt hem beter zoiets maken:

PHP:
1
$tekst = eregi_replace("\\[email=([^\\\[]*)\\]([^\\\[]*)\\\[/email\]", "<a href=\"mailto:\\1\">\\2</a>",$tekst);


nu zie je ook hoe het werkt. hij vind 2 matches. de eerst die hij tegenkomt is \\1 en de 2e \\2

[ Voor 12% gewijzigd door Kaasplank op 10-06-2003 13:12 . Reden: gaat niet helemaal lekker met de \ merk ik al :P ]