[php] preg_replace verwijzen naar functie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Tjeemp
  • Registratie: Januari 2005
  • Laatst online: 03-01-2015

Tjeemp

BEER N TEA

Topicstarter
ik heb een klein stukje code gemaakt dat een image in een html documentje laat zien die precies groot genoeg is, allemaal geen probleem enzo, maar ik probeer nu een soort cms eromheen te maken

en dan zou de code [thumbnail=blabla.jpg] een thumbnail met link naar dat documentje moeten laten zien. dus met preg_replace had ik dus gedacht om blabla.jpg als pattern eruit te halen en die naar de functie te laten verwijzen.

PHP:
1
$text = preg_replace("/\[thumbnail=(.*?)\]/e", image_pop('\\1'), $text);


nu ben ik geen expert op het gebied van die patterns, maar dit pattern gebruik ik ook voor andere mogelijkheden en bovendien, als ik de functie niet aanroep maar alleen '\\1' neerzet dan werkt het wel.

ik hoop dat iemand me uit de brand kan helpen.

http://82.92.37.54/~timo/projectcms/?page=2 (de toepassing)

www.timovanderzanden.nl | Beer 'n' Tea


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

waarom kijk je niet in de manual?

preg_replace_callback()

Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
PHP:
1
$text = preg_replace("/\[thumbnail=(.*?)\]/e", "image_pop('\\1')", $text);

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-06 16:30

Bosmonster

*zucht*

de uitvoer wordt geevalueerd en moet dus een string zijn..

/spuit 11 inmiddels :)

[ Voor 19% gewijzigd door Bosmonster op 16-01-2006 14:36 ]


Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 15-12-2024
Je zet de \\1 tussen quotes. Dit hoeft niet aangezien \\1 al een string is.

edit:

ook iets laat

[ Voor 15% gewijzigd door Pete op 16-01-2006 14:37 ]

petersmit.eu


Acties:
  • 0 Henk 'm!

  • Tjeemp
  • Registratie: Januari 2005
  • Laatst online: 03-01-2015

Tjeemp

BEER N TEA

Topicstarter
met die callback functie krijg ik een array terug en dat is nou niet echt de bedoeling...

normaal kan je met de preg_replace functie gewoon stuk voor stuk alle matches vervangen... en daarin wil ik alleen maar die functie gebruiken...

www.timovanderzanden.nl | Beer 'n' Tea


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-06 00:38

NMe

Quia Ego Sic Dico.

timovdz schreef op maandag 16 januari 2006 @ 15:07:
met die callback functie krijg ik een array terug en dat is nou niet echt de bedoeling...

normaal kan je met de preg_replace functie gewoon stuk voor stuk alle matches vervangen... en daarin wil ik alleen maar die functie gebruiken...
En dat kan dus alleen met preg_replace_callback, zoals netjes beschreven staat in die manual. Kijk eens naar de gegeven voorbeelden. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1