|
|||
![]()
Hallo Leute,
wollte mal fragen, ob es einen PHP-Befehl gibt, der alle Sonderzeichen bzw. Umlaute eines Strings in Unicodes umwandelt und damit XML-konform macht. Hoffe, könnt weiterhelfen. Viele Grüße! |
Sponsored Links |
Sponsored Links |
|
||||
![]()
ich würde mit der PHP-Methode ord() arbeiten. Damit kannst Du sämtliche Zeichen als ASCII-Wert zurückgeben lassen.
http://www.xhtmlforum.de/viewtopic.php?p=7218#7218 Schau Dir mal das Skript an, dass s.alcade unten gepostet hat. Das funktioniert echt super. Der Vorteil ist, dass man sich nicht um die Vollständigkeit der Replace-Liste kümmern muss. ![]() hemfrie |
|
|||
![]()
nun, ich habe glaube ich eine sehr elegante Lösung gefunden:
kennt ihr die funktion rawurlencode? Die macht aus allen Sonderzeichen automatisch einen HEX-Unicode: ä -> rawurlencode -> %E4 und E4 ist gleich 228 Dezimal -> &.#228; ist ä Man muss also einen String erst durch rawurlencode jagen und dann gucken, wo überall %XX steht und diese mittels regulärer Ausdrücke in HTML-Unicodes umwandeln. Eigentlich eine sehr simple Methode, nur merkwürdig, dass bisher niemand darauf gekommen ist *G* Werd' mal ein Skript schreiben - wenn es wirklich funzt, veröffentliche ich es hier. Ich denke, das ist sehr nützlich, um valides XHTML zu schreiben! Viele Grüße! |
|
||||
![]()
Ich fürchte, hier herrscht ein wenig Begriffsverwirrung.
Unicode ist eine reine hexanumerische Zuordnung, keine Kodierung. Jedem Zeichen ist eine Zahl zugeordnet. Es gibt diverse Möglichkeiten der Kodierung: • UTF-8, UTF-16, UTF-32: hier kann man die Zeichen unmaskiert einfach so in den Quelltext schreiben. Strengstens empfohlen. • ISO-x: Alle ISO-Kodierungen sind im Zeichenumfang beschränkte Untermengen des Unicode-Zeichenumfanges. Will man hier ein Zeichen verwenden, das nicht in der angegebenen Kodierung vorkommt, muß man es »maskieren«. Das Maskieren geht auf drei Arten: Als hexanumerische Zeichenreferenz (&#D6 ![]() ![]() ![]() XML- und damit auch XHTML-Parser brauchen Entities nicht aufzulösen. Und manche tun es tatsächlich auch nicht. Deshalb empfiehlt es sich ganz und gar nicht, Entities zu verwenden. Bei den Maskierungen werden dezimale Referenzen am besten unterstützt. Aber ich rate dringend dazu, gleich alles in UTF-8 zu schreiben, schon weil der Quelltext ohne Maskierungen deutlich lesbarer bleibt. Das ist ein großes Thema, deshalb hier nur etwas Pflichtlektüre: • http://www.cs.tut.fi/~jkorpela/chars.html • http://let.imperia.org/howto/de/unicode/unicode.html • http://www.dodabo.de/charset/ Gruß Thomas |
|
|||
![]()
mit anderen Worten,
man muss gar keine Entities verwenden? Wie sieht es da mit Kompatibilität aus? Ich fühle mich irgendwie nicht wohl, einfach ein ä unmaskiert in den Quelltext zu schreiben - das tun doch die wenigsten? Große Seiten wie stern.de haben trotz XHTML-Layout noch immer HTML-Entities. Also was nun? Überall schreiben die Leute, man müsste Entities verwenden! Viele Grüße! |
|
|||
![]() Zitat:
Ist mir mehrfach bei Code-Beispielen von Dir aufgefallen, Thomas. Wenn ich die in den Editor kopiere und aufrufe, dann kommen Fragezeichen statt der Umlaute. Mit ISO-8859-1 hingegen passiert das nicht. Mit dem IE auch nicht. Opera müßte ich testen...... |
|
||||
![]()
Wenn ich keine Umlaute maskiere (ä) und UTF-8 nutze, fällt meine Seite beim W3C-Validator durch. Was stimmt nun also?
Btw - die PHP-Funktion htmlentities() tut genau das - es maskiert alle Umlaute und Sonderzeichen automatisch um. Wozu das Rad mit einer eigenen Funktion erfinden? ![]()
__________________
“My software never has bugs. It just develops random features ...” ![]() » DevShack - die Website des freien Webentwicklers Boris Bojic ![]() |
|
|||
![]() Zitat:
Daher ja meine Frage, was besser ist, ob Unicode oder HTMLentities. |
Sponsored Links |
|
||||
![]() Zitat:
Zitat:
Zitat:
Was ist daran nicht zu verstehen? Gruß Thomas |
Sponsored Links |
![]() |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Dateien auslagern - Include und PHP | ArcVieh | Serveradministration und serverseitige Scripte | 17 | 27.03.2008 18:09 |
PHP und XHTML 1.1! | Martin88 | (X)HTML | 3 | 20.11.2006 18:21 |
Xhtml und PHP | weightwatcher | (X)HTML | 11 | 22.03.2005 20:29 |
XHTML 1.1 valid, mit php include, aber *.html, geht das ? | websitedesigner | (X)HTML | 9 | 06.12.2004 16:45 |
Frage bezüglich PHP und XHTML / UTF-8 | Kn1bbl | (X)HTML | 1 | 15.11.2004 22:05 |