php uit een string parsen
tags.
Bijv:
Ik lees dat bestand uit m.b.v.
Als ik $content echo krijg ik:
Het moet echter worden:
Hoe moet ik de variabele $content laten parsen door PHP zodat hij de variabelen $naam en $plaats 'invuld'?
Ik heb een script waarin ik een stukje HTML met PHP-code erin uit een bestand laad. Nee, dit bestand is geen PHP-bestand, en heeft dus ook geen Bijv:
Ik lees dat bestand uit m.b.v.
Als ik $content echo krijg ik:
Het moet echter worden:
Hoe moet ik de variabele $content laten parsen door PHP zodat hij de variabelen $naam en $plaats 'invuld'?
Gewijzigd op 01/01/1970 01:00:00 door Peter Somhorst
Optie: eval()
Maar iig bedankt!
Anyway, ik zou het zo doen (ervan uitgaande dat ik niet onder deze situatie uit kan)
Gebruik str_replace om de waardes te vullen
Dus $return = str_replace('{$naam}', $naam, $tekst);
Let op dat er single quotes om de eerste $naam staan.
Dit kun je eventueel ook nog in een loopje zetten.
Als ik wel onder deze situatie uit kan zou ik heel mijn systeem anders opzetten zodat ik dit niet hoef te doen, maar dat even terzijde.
De enige oplossing is dus de tweede oplossing die je aandraagt. Evt. zou je het nog met een preg_replace kunnen doen om de variabelenaam te herkennen...
ps. Probeer dit bijvoorbeeld maar eens uit te voeren, je zult zien dat het niet werkt:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$naam = 'Kees';
$plaats = 'Amsterdam';
eval('Hey ik ben {$naam} en ik woon in {$plaats}.');
?>
$naam = 'Kees';
$plaats = 'Amsterdam';
eval('Hey ik ben {$naam} en ik woon in {$plaats}.');
?>
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$naam = 'Kees';
$plaats = 'Amsterdam';
eval('echo "Hey ik ben {$naam} en ik woon in {$plaats}.";');
?>
$naam = 'Kees';
$plaats = 'Amsterdam';
eval('echo "Hey ik ben {$naam} en ik woon in {$plaats}.";');
?>
Gewijzigd op 01/01/1970 01:00:00 door Baarr
Baarr schreef op 18.04.2007 21:50:
Lees mijn bovenstaande post van 21:49
Als je 'em meteen wil echo'en is dit de beste optie, maar zo niet...
dat is zeg maar ongeveer exact hetzelfde als wat ik zei, op een paar escaped quotes na... weinig toevoegend dus...
Zeg dan eens wat je precies wilt.. ik volg je niet meer ....
Wat ik wil heb ik al, en dat staat in mijn post van 21:49. Uw post van 21:59 bevat een stukje code dat exact hetzelfde doet, maar net een andere syntax heeft.
Ik dacht dat je er nog niet aan uit was, maar mooi zo, weer een tevreden peehaapee-ur.