preg_replace probleempje 2

Praat mee over van alles en nog wat!
Forumregels
Dit forum is voor alle zinnige gesprekken buiten phpBB om. Discussies en gesprekken over interessante onderwerpen.

Een nieuw onderwerp moet..:
  • uiteraard voldoen aan de algemene voorwaarden
  • niet passen in de gewone supportfora
  • interessante zijn voor het overgrote deel van onze gebruikers
  • een neutrale of positieve ondertoon hebben
  • anders zijn dan bestaande onderwerpen
Plaats reactie
ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

preg_replace probleempje 2

Bericht door ElbertF » 21 jun 2005, 14:26

Nog een probleempje.. Ik wil in de volgende code alle #'s vervangen met de waarde van ROW die erboven staat. Dus dit:

Code: Selecteer alles

<!-- START LOOP | xx -->
<!-- ROW 1 -->
# # #<br />
<!-- ROW 2 -->
# # #<br />
<!-- END LOOP | xx -->
..wordt dit:

Code: Selecteer alles

<!-- START LOOP | xx -->
<!-- ROW 1 -->
1 1 1<br />
<!-- ROW 2 -->
2 2 2<br />
<!-- END LOOP | xx -->
Ik gebruik nu dit patroon, maar die veranderd alleen de eerste # per rij:

Code: Selecteer alles

$page = preg_replace('/(<!-- ROW )(.+?)( -->)(.+?)(#)(.+?)/s', '\1\2\3\4\2\6', $page);
..en levert dus deze foute code op:

Code: Selecteer alles

<!-- START LOOP | xx -->
<!-- ROW 1 -->
1 # #<br />
<!-- ROW 2 -->
2 # #<br />
<!-- END LOOP | xx -->
Iemand een idee? :P

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 21 jun 2005, 15:24

Ik heb het nu opgelost door de #'s te tellen en de preg_replace in een for-lus te zetten. Ik weet niet of het de beste oplossing is maar het werkt..

Plaats reactie