Door
j opla
op 06-02-2016 20:23
gewijzigd op 06-02-2016 20:24
2.398 views
Beste mensen,
Ik heb een probleempje, misschien weten jullie een oplossing.
Met een hulpmiddel pas is de html code van een stuk tekst aan. Ik gebruik hiervoor de tool simple_html_dom
De bijgewerkte html code roep ik vervolgens met "echo $html" op. Echter, in de html code staat ook een stuk php. Maar die php code wordt nu niet geëvalueerd. Eigenlijk logisch. Maar hoe zou ik het dan wel kunnen doen? Kan ik de php code die in een variabele staat evalueren?
Waarom wordt het afgeraden en wat zou een andere mogelijkheid kunnen zijn? Daarnaast ... ik denk niet dat het gaat werken want:
The code must not be wrapped in opening and closing PHP tags, i.e. 'echo "Hi!";' must be passed instead of '[?php echo "Hi!"; ?]'. It is still possible to leave and re-enter PHP mode though using the appropriate PHP tags, e.g. 'echo "In PHP mode!"; ?] In HTML mode! [?php echo "Back in PHP mode!";'.
Mijn php code is onderdeel in een stuk html code en staat daarin tussen
<?php ?>
eval() is extreem gevaarlijk, omdat je willekeurige php code kan uitvoeren, ook code die niet door jou is geschreven. Aangeraden is gewoon geen PHP code gebruiken in je aangepaste tekst te gebruiken, maar gewoon alles zo te structureren dat dat niet nodig is.
Ik denk dat ik het in mijn eerste bijdrage duidelijk had beschreven. Maar ik zal het proberen te verduidelijken.
Ik heb een soort framewerk van mijn website. Daarbij haal ik de variabele tekst/inhoud uit een seperaat bestandje. Omdat ik automatisch op basis van de gegevens in dat bestandje (de <h2> tags) een inhoudsopgave wil laten zien gebruik ik daarvoor een programmaatje simple_html_dom. Het resultaat van de bewerking wordt met echo $html op het scherm getoverd. Maar in de file die ik automatisch laat bewerken met simple_html_dom staat ook php code en die gaat nu niet mee.
Tja, wellicht in het verleden een verkeerde keuze gemaakt, maar ben op zoek naar de eenvoudigste oplossing om het weer recht te krijgen ;-) .
Prima maar wie maakt dat bestandje? Het gaat er namelijk om of de PHP code in dat bestand gegarandeerd veilig is. Als de hele wereld dat bestand kan aanmaken of wijzigen dan kun je wachten op een hack.