[PHP] functie in een preg_replace

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • KolNedra
  • Registratie: September 2001
  • Laatst online: 18-04-2020
Ik heb deze thread; [rml][ PHP] functie in preg_replace[/rml] gelezen en ook de php.net documentatie over preg_replace, alleen dit is iets te hoog gegrepen voor mij.

maar ik kom er nog steeds niet uit.
Ik heb dit regeltje:
PHP:
1
echo preg_replace("/(\\[up\])(.*)(\\[\/up\])/siU","<B>".strtoupper('\2')."</B>","dit moet dan [up]in uppercase[/up], ja ja !");


De bedoeling is dus dat alles wat tussen de [up] tags staat in UPPERCASE wordt ge-echoed en bold gemaakt.

Hij laat de tekst wel zien en maakt hem ook dik gedrukt alleen niet uppercase. Iemand een simpelle oplossing?

Ik weet niet precies wat ik fout doe

::: flickr.com/kolnedra ::: Nikon D80 + Sigma 18-200mm f/3.5-6.3 DC + Sigma 10-20mm f/4-5.6 EX DC HSM


Acties:
  • 0 Henk 'm!

Verwijderd

het lijkt erop dat je de string \2 wilt gaan uppercasen. Als je wilt referen naar je match, moet je $2 gebruiken.

Acties:
  • 0 Henk 'm!

  • KolNedra
  • Registratie: September 2001
  • Laatst online: 18-04-2020
Verwijderd schreef op 16 augustus 2004 @ 12:43:
het lijkt erop dat je de string \2 wilt gaan uppercasen. Als je wilt referen naar je match, moet je $2 gebruiken.
FOK was dat alles.
Bedankt man het werkt !

::: flickr.com/kolnedra ::: Nikon D80 + Sigma 18-200mm f/3.5-6.3 DC + Sigma 10-20mm f/4-5.6 EX DC HSM


Acties:
  • 0 Henk 'm!

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 18-09 23:26

Tjark

DON'T PANIC

probeer eens:
PHP:
1
echo preg_replace("/(\\[up\])(.*)(\\[\/up\])/siU","'<B>'.strtoupper('\\2').'</B>'","dit moet dan [up]in uppercase[/up], ja ja !");

tis al gefixed zie ik

[ Voor 34% gewijzigd door Tjark op 16-08-2004 12:46 ]

*insert signature here


Acties:
  • 0 Henk 'm!

Verwijderd

Je moet inderdaad $1 (waarom 2, je hebt maar één (.*) ??) gebruiken, en de "e" modifier toevoegen om het resultaat in functies te gebruiken.

Acties:
  • 0 Henk 'm!

  • KolNedra
  • Registratie: September 2001
  • Laatst online: 18-04-2020
Werkt nog niet helemaal, moet een /e hebben :

PHP:
1
echo preg_replace("/(\\[up\])(.*)(\\[\/up\])/sie","'<B>'.strtoupper('$2').'</B>'","dit moet dan [up]in uppercase[/up], ja ja !");

[ Voor 42% gewijzigd door KolNedra op 16-08-2004 12:52 ]

::: flickr.com/kolnedra ::: Nikon D80 + Sigma 18-200mm f/3.5-6.3 DC + Sigma 10-20mm f/4-5.6 EX DC HSM


Acties:
  • 0 Henk 'm!

  • mjax
  • Registratie: September 2000
  • Laatst online: 20:52
PHP:
1
echo preg_replace("/(\\[up\])(.*)(\\[\/up\])/siUe","'<B>'.strtoupper('\\2').'</B>'","dit moet dan [up]in uppercase[/up], ja ja !");
Pagina: 1