problem mit htmlentities()

Gunah

Erfahrenes Mitglied
moin

ich habe folgendes Poblem mit htmlentities()

hier der Quellcode:
PHP:
    function htmlconverter($str) {
        return htmlentities($str,ENT_QUOTES,'ISO-8859-15');
    }
echo ("´ ' \" `");
echo "\n";
echo htmlconverter("´ ' \" `");
/** Quellcode Ausgabe
´ ' " `
´ ' " `
**/
mir hat sich da nun die Frage gestellt, warum macht der bei dem UNICODE von ´ wird im Quellcode das &-Zeichen alleine nochmal als htmlentities gemacht dies ist eigtl aber falsch... ich hoffe ihr habt mich verstanden und kennt eine lösung für mein Problem... (bei HTML Specialchars ist es das gleiche..)

Gruß Gunah
 
Danke für deine Antwort...

das hatte ich eben schon Probiert ergebnis das gleiche

getestet unter:

PHP4.3.4 (Linux SuSE)
PHP5.2.3 (Win32)
 
das Problem es soll später auf dem PHP4.3.4 Server laufen :(

und double_encode gibts es erst ab PHP5.0.0 :(

MfG Gunah
 
Hört sich blöd an, aber sollte man nicht jetzt sich mit der Migration von PHP4 auf PHP5 kümmern? Immerhin wird PHP4 nicht mehr supportet (aus Mitleid werden wohl noch SIcherheitslücken bis August gestopft). Zumal würd ich auf der Windows-Kiste die Annähernd gleichen Bedingungen schaffen (PHP 4.3.4) oder einen Linux-Testserver besorgen mit PHP 4.3.4, da das Script ja nicht so direkt auf dem Live-Server zum Einsatz kommen sollte.

Das Problem mit dem & ist eigentlich kein Problem. Wenn man eine URL wie z.B. http://www.example.com/index.php?site=index&value=1 aufruft, sollte die URL auch codiert mit & statt nur & sein, um Kompatibilitätsprobleme zu vermeiden Ist die Darstellung denn am Ende fehlerhaft?


Gruß Radhad
 
du kennst unsere Admins hier schlecht xD... auf meinem priv. Server läuft schon längst 5.2.5 aber firmlich :( das höchste was beim auf dem Server an PHP5 ist PHP5.1.2 und das hat ne menge bugs :( ...

naja aber mir ist aufgefallen das das Problem auch bei dem neuem auf trick...

ich werde mal im Bugtracker von php.net gucken was die da so stehen haben, aber danke für eure Hilfe..

////
habe es nun so gelöst....
PHP:
	function htmlconverter($str) {
		$str = htmlentities($str,ENT_QUOTES,'ISO-8859-15');
		return preg_replace("/&#(.*?);/","&#$1;",$str);
		//return $str;
	}
 
Zuletzt bearbeitet:
Zurück