Hallo liebe Leser!
Ich beschäftige mich seit kurzem etwas mit den RegExp, besser gesagt ich versuche es - man kommt ja nicht drum rum.
Nun ist es so, dass ich liebend gerne den TINYMCE Editor benutze, jedoch kann man damit die Benutzer nicht einfach schreiben lassen was man will, sonst hat man ganz schnell ein onmouseover="window.location.href='...'" drinnen stehen :d
Nun wollte ich mittels PHP Attribute herausfiltern, das ganze sieht im Moment so aus:
Das ganze Funktioniert zwar ist aber weder schön noch sonstwas. Außerdem beschränkt es sehr.
Was mir leider fehlt und wo ich auch leider nach stundenlangem Probieren nicht dahinterkomme ist, wie ich dann zb style="color:#xyz" entferne, aber jedoch style="text-align:justify;"
Konkret gesagt:
1) Grundsätzlich sollen alle Attribute verschwinden
2) Einige Attribute sollen bleiben (z.B.: width,height,style)
3) Beim style element sollen auch wieder nur bestimmte Inhalte erlaubt sein: (z.B.: style="text-align:left; color:#123456; font-size:1000px;" wird zu => style="text-align:left; color:#123456;")
Ich wäre euch sehr Dankbar wenn ihr mir helfen könnt.
Am meisten würde mich wohl der fertige RegExp Pattern freuen aber ein paar Anstöße werde ich auch sehr begrüßen!
Schöne Grüße
Cuthbert
Ich beschäftige mich seit kurzem etwas mit den RegExp, besser gesagt ich versuche es - man kommt ja nicht drum rum.
Nun ist es so, dass ich liebend gerne den TINYMCE Editor benutze, jedoch kann man damit die Benutzer nicht einfach schreiben lassen was man will, sonst hat man ganz schnell ein onmouseover="window.location.href='...'" drinnen stehen :d
Nun wollte ich mittels PHP Attribute herausfiltern, das ganze sieht im Moment so aus:
PHP:
$zeichenkette = stripslashes($var['TEXT']);
$suchmuster = '/(onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|id|class|align)="(.*?)"/i';
$ersetzung = "";
$zeichenkette = preg_replace($suchmuster,$ersetzung,$zeichenkette);
$ouput = closetags(strip_tags($zeichenkette,"<strong>,<em>,<span>,<div>,<img>,<p>,<br>,<b>,<blockquote>,<hr>"));
Das ganze Funktioniert zwar ist aber weder schön noch sonstwas. Außerdem beschränkt es sehr.
Was mir leider fehlt und wo ich auch leider nach stundenlangem Probieren nicht dahinterkomme ist, wie ich dann zb style="color:#xyz" entferne, aber jedoch style="text-align:justify;"
Konkret gesagt:
1) Grundsätzlich sollen alle Attribute verschwinden
2) Einige Attribute sollen bleiben (z.B.: width,height,style)
3) Beim style element sollen auch wieder nur bestimmte Inhalte erlaubt sein: (z.B.: style="text-align:left; color:#123456; font-size:1000px;" wird zu => style="text-align:left; color:#123456;")
Ich wäre euch sehr Dankbar wenn ihr mir helfen könnt.
Am meisten würde mich wohl der fertige RegExp Pattern freuen aber ein paar Anstöße werde ich auch sehr begrüßen!
Schöne Grüße
Cuthbert