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?

Hier is het stuk code waar het om gaat:

<?php
include $sMyScripts.'simple_html_dom.php'; 
//http://simplehtmldom.sourceforge.net/manual.htm#section_quickstart
$html = file_get_html('content'.$sPad.$sBestand);
if($html->find('div[id=inhoudlinks]'))
{
	$index='
				<ul>';
	foreach($html->find('h2') as $e)
	{
		$eInnerTxt= str_replace(" ","_",trim($e->innertext));
		$index.='
					<li><a href="#'.$eInnerTxt.'">'.$e->innertext.'</a></li>';

		$e->outertext='
			<div class="linktop2">
				<a href="#top"  >^top</a>
			</div>
			<a id="'.$eInnerTxt.'"></a>
			'.$e->outertext.'
';
	}
	$index.='
				</ul>
			';
	foreach($html->find('div[id=inhoudlinks]') as $element) 
	{
		$element->innertext=$index;
		$element->outertext='
			'.$element->outertext.'
';
	}

	echo $html;
}
?>
@Ben
Ja dat zou mooi zijn, maar de php staat al in de content... maar gaat mijn idee werken of zie ik iets ovet het hoofd?
Scheid je artikel-content van andere PHP code. Die code heeft waarschijnlijk een hele andere functie dan het simpelweg weergeven van een artikeltekst in HTML. Die horen dan ook niet bij elkaar te staan.
Je hebt helemaal gelijk Thomas, maar voor de time being ... zou mijn oplossing kunnen werken?
Naar mijn mening moet je niet voortborduren op een verkeerd ontwerp.

Hoe langer je het scheiden van dit soort zaken uitstelt, hoe meer werk het kost om dit (alsnog) te repareren.

Time to bite the bullet and get it over with :).
@Thomas
Niet voortborduren op een verkeerd ontwerp ... dat is toch de corebusiness van Microsoft? ;-)
@J Opla Als je naar de architectuur an sich kijkt niet, er zijn alleen op beveiligingsvlak wat gekke beslissingen genomen. Jij probeert iets dat van de grond af al fout is toch nog in goede banen te leiden. Ik zou toch het advies ter harte nemen, en gewoon vooraf alles op een nette manier uitwerken.
Oeps, paar teentjes geraakt ;-) Sorrie!

Toevoeging op 09/02/2016 11:56:02:

Maar ik denk dat we dit topic wel kunnen sluiten. We dwalen, mea culpa mea culpa, af.
Geen teentjes geraakt, je vergelijking klopte alleen niet :-)
Als ik nu zeg dat je het laatste woord mag hebben lijkt het net of ik het laatste woord wil hebben ...

Reageren