Hoi tweakerts,
ben 4 dagen geleden begonnen met regular expressions, ben het erg vaak tegen gekomen, maar nooit echt naar gekeken. Omdat ik ze nou toch echt nodig heb om een UBB-tag systeempje te maken, en het werkt inderdaad erg makkelijk.
maar nu wou ik het wat ingewikkelder maken, door een functie aan te roepen IN de replace-string.
Door te searchen ben ik wel een aantal dingen tegen gekomen dat je een functie kan aanroepen in de replace van een preg_replace, maar daar gebruiken ze steeds $1, en bij mij werkt dat niet. 1 mee geven aan een functie werkt ook niet.
code wat ik nou heb:
dus ik probeer zoiets:
Warning: Unexpected character in input: '' (ASCII=92) state=1
volgende probeersel:
Parse error: parse error, expecting `T_VARIABLE' or `'$''
Waarschijnlijk zal ik iets in het ((.|\n)*) gedeelte moeten veranderen, maar wat kan ik niet achterkomen.
Hopelijk heb ik alle benodigde info gegeven en mijn excusses als het erg makkelijk is, maar ik kan het echt niet vinden.
[edit]
om de een of andere reden wordt de slash voor de n er steeds uitgehaald als ik op Bekijk bericht klik...
ben 4 dagen geleden begonnen met regular expressions, ben het erg vaak tegen gekomen, maar nooit echt naar gekeken. Omdat ik ze nou toch echt nodig heb om een UBB-tag systeempje te maken, en het werkt inderdaad erg makkelijk.
maar nu wou ik het wat ingewikkelder maken, door een functie aan te roepen IN de replace-string.
Door te searchen ben ik wel een aantal dingen tegen gekomen dat je een functie kan aanroepen in de replace van een preg_replace, maar daar gebruiken ze steeds $1, en bij mij werkt dat niet. 1 mee geven aan een functie werkt ook niet.
code wat ik nou heb:
PHP:
hier maakt ie dus nog geen gebruik van de functie testje();1
2
3
4
5
6
7
8
| <?PHP function testje($string) { return $string; } $string = preg_replace("_[code]((.|\n)*)[/code]_iU", "<code>1</code>", $string); ?> |
dus ik probeer zoiets:
PHP:
Dat geeft:1
2
| $string = preg_replace("_[code]((.|\n)*)[/code]_iU", "<code>".testje(1)."</code>", $string); |
Warning: Unexpected character in input: '' (ASCII=92) state=1
volgende probeersel:
PHP:
en dat geeft:1
2
| $string = preg_replace("_[code]((.|\n)*)[/code]_iU", "<code>".testje($1)."</code>", $string); |
Parse error: parse error, expecting `T_VARIABLE' or `'$''
Waarschijnlijk zal ik iets in het ((.|\n)*) gedeelte moeten veranderen, maar wat kan ik niet achterkomen.
Hopelijk heb ik alle benodigde info gegeven en mijn excusses als het erg makkelijk is, maar ik kan het echt niet vinden.
[edit]
om de een of andere reden wordt de slash voor de n er steeds uitgehaald als ik op Bekijk bericht klik...
[ Voor 36% gewijzigd door KompjoeFriek op 14-11-2003 12:11 . Reden: layout fix ]