HTML-Code aus String heraus filtern

DataFox

Erfahrenes Mitglied
Hi Leute!

Ich habe einen String in dem ein kompletter Website-Quellcode drinne steckt. Auch JavaScript-Blöcke.

Jetzt will ich den HTML Code OHNE die JavaScript Blöcke haben. Das versuche ich so:

Code:
	$pattern = "#(.*)<script.*>.*</script>(.*)#isU";
	$matchArray = array();
	preg_match_all($pattern, $s, $matchArray, PREG_SET_ORDER);
	print_r($matchArray);
	foreach($matchArray as $match) {
		$htmlCode .= "\n".$match[1];
	}

Das dumme dabei ist, das alles was nach dem letzten
Code:
</script>
im String kommt, einfach unter den Tisch fällt. Wie kann das sein Das Search-Pattern scheint mir korrekt zu sein, er soll alles finden was VOR und NACH einem script-tag kommt.

Wenn ich mehrere Script-Tags in einem Dokument habe, holt mir das Script alle HTML-Inhalte bis auf das, was nach dem letzten schließenden script-tag kommt!

Hat jemand eine Idee was man da tun kann?

Gruß
Laura
 
Ich würde die script-Elementblöcke einfach entfernen:
PHP:
$s = preg_replace('#<script[^>]*>.*?</script[^>]*>#is', '', $s);
 
Zurück