Wie bekomme ich nun das ' über PHP und Javascript auf das Display?
In dem Du das Zeichen entweder
1) mit einem Backslash maskierst oder
2 einen alternantiven Stringbegrenzer verwendest.
Gehe bei 1 von hinten nach vorn durch:
Ausgabe: Gerda's Skript
Java-Skript: alert('Gerda\'s Skript');
PHP: print '<script type=\'text/javascript\'>alert alert(\'Gerda\\\'s Skript\');';
Suit wird Dir mitteilen, Du sollst den Kontextwechsel beachten. Damit hat er recht. Befasse Dich mit dem Thema.
Was jetzt die Umwandlung in das Entity ' betrifft, so sollte das eigentlich funktionieren. Bei mir funktioniert jedenfalls:
<?php
print '<html>
<div id=\'Ausgabe\'></div>
<script type=\'text/javascript\'>document.getElementById(\'Ausgabe\').innerHTML=\'Gerda's Skript\';</script>
</html>';
?>
als auch:
<?php
print '<html>
<div id=\'Ausgabe\'></div>
<script type=\'text/javascript\'>document.getElementById(\'Ausgabe\').innerHTML=\'Gerda\\\'s Skript\';</script>
</html>';
?>
was zu folgendem HTML-Code in der Ausgabe führt:
<html>
<div id='Ausgabe'></div>
<script type='text/javascript'>document.getElementById('Ausgabe').innerHTML='Gerda\'s Skript';</script>
</html>
Fred