heyho,
ich arbeite gerade an einem online html editor.
nun soll man in diesem editor auch datein öffnen können.
dazu öffnet sich ein iframe, in das eine php seite geladen wird. diese php seite entählt ein upload formular. wenn der user nun in diesem formular eine datei hochläd soll diese datei an Javascript übergeben werden. ich hab mir das so gedacht:
das ist die Seite an die das Formualr die Datei zum hochladen schickt:
das Problem:
wenn der user ein semikolon verwendet funktionert das nicht mehr. alles was nach dem semikolon kommt wird nicht mehr in den paramter der funktion gebeSeiteaus() geschrieben , sondern als normaler text außerhalb des <script> teils.
ich wollte das semikoln jetzt mit str_replace ersetzen, aber auch wenn ich es ersetzte
wird es immernoch falsch dargestellt
was kann ich tun um das zu verhindern?
gruß arnes
ich arbeite gerade an einem online html editor.
nun soll man in diesem editor auch datein öffnen können.
dazu öffnet sich ein iframe, in das eine php seite geladen wird. diese php seite entählt ein upload formular. wenn der user nun in diesem formular eine datei hochläd soll diese datei an Javascript übergeben werden. ich hab mir das so gedacht:
das ist die Seite an die das Formualr die Datei zum hochladen schickt:
PHP:
// javascript ausgeben
echo "<script type=\"text/javascript\">";
// hochgeladene datei als Paramter
echo "parent.gebeSeiteAus(\"";
$file = fopen($_FILES['the_file']['tmp_name'],"r");
if ($file) {
while(!feof($file)) {
$text = fgets($file);
$text = str_replace ('"', '\"', $text);
echo $text;
}
fclose($file);
}
echo "\")";
echo "</script>";
das Problem:
wenn der user ein semikolon verwendet funktionert das nicht mehr. alles was nach dem semikolon kommt wird nicht mehr in den paramter der funktion gebeSeiteaus() geschrieben , sondern als normaler text außerhalb des <script> teils.
Code:
<script>
1
2parent.gebeSeiteAus("<span style=\"color:green\">hello world .D</span>
3<script type=\"text/javascript\">
4alert('blaa');
5
</script>
")
ich wollte das semikoln jetzt mit str_replace ersetzen, aber auch wenn ich es ersetzte
PHP:
$text = str_replace(';', 'semikolon', $text);
Code:
<script>
1
2parent.gebeSeiteAus("<span style=\"color:green\">hello world .D</span>
3<script type=\"text/javascript\">
4alert('blaa')semikolon
5
</script>
")
was kann ich tun um das zu verhindern?
gruß arnes