B
BartTheDevil89
Guest
Hallo,
ich habe ein Problem, bzw. ein Aufgabenfeld. Ich habe einen Content und möchte daraus alle <script>-Codes filtern, die im src einen speziellen Begriff mit drin haben. Also als Beispiel:
$content = "Das ist der Testcode mit diesem Script <script type="text/javascript" src="http://www.begriff.de/script.php?s=56863"></script> hier";
Kann allerdings auch so aussehen:
$content = "ein anderes Beispiel bin ich mit <script type="text/javascript" src="http://www.domain.de/begriff2.php"></script>
Ziel ist es jetzt anhand einer Blacklist auf spezielle Begriffe eben zu überprüfen und diese dann aus diesem Code rauszufiltern. Also die beispielhafte Blacklist:
begriff
begriff2
begriff3
Mein aktueller Code ist dieser:
Das auslesen der Begriffe läuft richtig, allerdings muss irgendwie zwischen if($bad_wort != ""{.... und dem } der Fehler sein, weil der Filter einfach nicht richtig läuft.
Woran liegt, kann mir jemand helfen?
Dankeschön
ich habe ein Problem, bzw. ein Aufgabenfeld. Ich habe einen Content und möchte daraus alle <script>-Codes filtern, die im src einen speziellen Begriff mit drin haben. Also als Beispiel:
$content = "Das ist der Testcode mit diesem Script <script type="text/javascript" src="http://www.begriff.de/script.php?s=56863"></script> hier";
Kann allerdings auch so aussehen:
$content = "ein anderes Beispiel bin ich mit <script type="text/javascript" src="http://www.domain.de/begriff2.php"></script>
Ziel ist es jetzt anhand einer Blacklist auf spezielle Begriffe eben zu überprüfen und diese dann aus diesem Code rauszufiltern. Also die beispielhafte Blacklist:
begriff
begriff2
begriff3
Mein aktueller Code ist dieser:
PHP:
$handle = fopen("badwerbung.txt", "r");
while(!feof($handle))
{
$bad_word = fgets($handle, 4096);
if($bad_word != "") {
// Zeilenumbruch entfernen
$bad_word = str_replace(array("\r\n", "\n"), array('',''), $bad_word);
$pattern = '/<script.+?src=["|\'].+?'.$bad_word.'.+?["|\']?>(.+?)?<\/script>/';
$content = preg_replace($pattern, "$1", $content);
}
}
fclose($handle);
Das auslesen der Begriffe läuft richtig, allerdings muss irgendwie zwischen if($bad_wort != ""{.... und dem } der Fehler sein, weil der Filter einfach nicht richtig läuft.
Woran liegt, kann mir jemand helfen?
Dankeschön