html_entity_decode wandelt unter Linux anders um als unter Windows
Hallo,
ich habe grad ein kleines Problem beim proggen.
Ich benutze diese funktion:
html_entity_decode($h2,ENT_NOQUOTES,"ISO8859-15")
unter windows sieht das ergebnis so aus : (richtig)
.. \'projekte/scripte/findex/\'); return false;\" class=\"prevlink\" ..
unter linux siehts jedoch so aus :
... 'projekte/scripte/findex/'); return false;" class="prevlink" ...
frage nun: warum? und wie kann ich das unter Linux ändern. habe leider so nichts dazu gefunden und will mich auch nicht erst wo anmelden. Deswegen frage ich erstmal hier nach.
Danke schonmal im vorraus ^^
Antwort schreiben
Antwort 1 von Supermax vom 09.07.2019, 15:03 Options
Das hat wohl weniger mit html_entity_decode zu tun als möglicherweise unterschiedlichen Einstellungen für magic_quotes_gpc und/oder magic_quotes_runtime in der php.ini
Antwort 2 von möp vom 09.07.2019, 15:38 Options
alles klar danke für die antwort.
nur stehe ich jetzt vorm nächsten problem. Ich habe keinen zugriff auf die php.ini und sowohl ini_set() als auch php_flag magic_quotes_gpc On über .htaccess is deaktiviert.
Antwort 3 von Supermax vom 09.07.2019, 15:50 Options
du könntest folgende Abfrage einbauen:
$erg = html_entity_decode($h2,ENT_NOQUOTES,"ISO8859-15");
if (get_magic_quotes_gpc()) {
$erg = stripslashes($erg);
}
Das trifft natürlich nur zu, wenn die Variable per POST/GET übergeben wurde; wenn sie aus einer Datenbank oder einer anderen Quelle (z.B: einer Datenbank) kommt, muß statt get_magic_quotes_gpc() get_magic_quotes_runtime() verwendet werden.