Js-code als parameter übergeben

hi alle

ein php-skript eines chats generiert folgenden code:
printOut(‚html-text‘);
die function printOut gibt dann den html-text mit document.write() aus.

der sinn, warum das php skript zuerst die js-function printOut() aufruft, ist dass dort noch gewisse prüfungen gemacht werden können, ob die ausgabe z.b. tatsächlich gemacht werden soll.

das problem:

es kann vorkommen, dass in diesem html-text ebenfalls javascript versteckt ist, z.b. wenn dort ein link vorkommt oder halt einfach weitere tags. leider funktioniert dann printOut() nicht mehr :frowning:

was könnte ich tun, dass auch der als parameter übergebene js-code korrekt ausgeführt wird? ist das überhaupt möglich?

danke für eure hilfe

gruss
pumix

Hallo,
versuch erstmal '," und / gegen '," und / unter PhP zu ersetzen, dass könnte dein Problem lösen…
Grüße
Stefan

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hi stefan

danke für deine antwort! :smile:

in php hab ich bereits die func. addslashes() angewendet, die genau das tut.

aber schon der aufruf printOut(‚Klicke OK.alert(1);‘); funktioniert leider nicht, und da kommen ja keine '-zeichen innerhalb des übergebenen strings vor.

hast du (oder sonst jemand) noch eine andere idee?

gruss
pumix

Hm, ersetzt mal mit \x3E, dann kann der HTML Interpreter nicht mehr durcheinander kommen.
Grüße
Stefan

1 „Gefällt mir“

Ach ja, nimm

ereg\_replace ("

Grüße
Stefan

vielen dank, dieser hinweis hat mir weitergeholfen.

gruss
pumix