Ik heb een probleem met de functie preg_replace_callback.
PHP code ter verduidelijking:
Output van script:
Zoals je ziet is de output verschillend, met preg_replace_callback komt de vervangende tekst voor aan te staan. ipv in de tekst op de orginele postitie zoals bij preg_replace.
Ik moet preg_replace_callback gebruiken om dit het orginele script de tekst afvangt en verder verwerkt voor dynamische output welke in een functie zit. Maar dit terzijde.
Waarom komt de tekst voor aan te staan bij preg_replace_callback?
PHP code ter verduidelijking:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <?php $string = "tekst ZXX111XXY meer tekst."; $pattern = '/ZXX(.*)XXY/'; $replacement = 'BLAAT'; echo "Orginele string: $string<br /><br />"; echo "preg_replace: "; echo preg_replace($pattern, $replacement, $string); echo "<br /><br />preg_replace_callback: "; echo preg_replace_callback($pattern, replace, $string); function replace() { echo "BLAAT"; } ?> |
Output van script:
code:
1
2
3
4
5
| Orginele string: tekst ZXX111XXY meer tekst. preg_replace: tekst BLAAT meer tekst. preg_replace_callback: BLAATtekst meer tekst. |
Zoals je ziet is de output verschillend, met preg_replace_callback komt de vervangende tekst voor aan te staan. ipv in de tekst op de orginele postitie zoals bij preg_replace.
Ik moet preg_replace_callback gebruiken om dit het orginele script de tekst afvangt en verder verwerkt voor dynamische output welke in een functie zit. Maar dit terzijde.
Waarom komt de tekst voor aan te staan bij preg_replace_callback?