Willkommen in der Webstatt
User-1 am 12.04.07 21:31

Moin.

Ich nutze folgendes Grundgerüst für Websites.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de">
<head>
<title></title>
<meta http-equiv="Content-type" content="text/html; CHARSET=iso-8859-1" />
</head>
<body>

</body>
</html>


Der Zeichensatz ist ja der westeuropäische, allerdings hab ich nun erfahren, dass der aus Platzmangel kein " beinhaltet. Stimmt das?
Ferner muss ja auch alles was in HTML eine Funktion hat ( "<", etc.) umgeformt werden. Entweder wie die Funktion htmlentities es macht, oder per hexadezimalsystem. Letzteres klingt ganz sinnvoll, denn Umlaute und ähnliche Zeichen brauche ich doch mit dem angegebenen Zeichensatz nicht umformen. Oder?

MfG xyz-58

netcup.de Warum gibt es hier Werbung?
User-2 am 12.04.07 22:49

Natürlich hat der westeuropäische Zeichensatz das "-Zeichen. Wer dir den Unsinn auch immer erählt hat... ;)

User-1 am 13.04.07 10:38

Das klingt doch schon mal gut. :)
Gibt es eine verständlichere Liste für hexadezimal-Codes, als die von Wikipedia?
Weil ich für mein CMS dann Usereingaben mit ' < > und ähnlichen Zeichen ja immer noch umformen müsste...

User-3 am 13.04.07 13:34

http://www.kostis.net/charsets/ ?

User-2 am 13.04.07 15:23

Die Windows-Zeichentabelle zeigt dir Hexadezimalcodes... ;)
Unter Linux weiss ich grad nicht, ob die Zeichentabelle auch die Hexadezimalcodes anzeigt.

User-1 am 13.04.07 18:46

Hab mir nun die Windowstabelle genommen. Der Wert in den runden Klammern ist doch der hexadezimalwert, oder? Weil dann verstehe ich nicht, warum der mir bspw. 0x27 angibt, denn das zeigt mir Firefox fehlerhaft an. #x27 hingegen funktioniert. Ich gucke in der Tabelle für den westlichen Zeichensatz.

User-2 am 13.04.07 18:58

Das 0 musst du in den Entities weglassen. Wenn ich nicht völlig daneben liege *g*

User-1 am 13.04.07 19:07

Okay, danke.


Doof, dass das so umständlich ist. :D

User-1 am 15.04.07 13:09

<?php
if ($zeichen == true){
$text = str_replace('<', '&#x3C;', $text);
$text = str_replace('>', '&#x3E;', $text);
$text = str_replace("'", '&#x27;', $text);
$text = str_replace('"', '&#x22;', $text);
} else
$text = strip_tags($text);
if ($zeichen == true)
$text = str_replace("\n", '<br>', $text);
?>


Hab ich was vergessen? Fallen euch noch Zeichen ein?

User-2 am 15.04.07 13:42

Ich frage mich gerade, warum du strip_tags auch einsetzen lässt, wenn $zeichen wahr ist und es keine richtigen Tags mehr gibt... ;)

User-1 am 15.04.07 14:06

Öhm, mir is das else beim umformatieren flöten gegangen. Weil irgendwie hat der mir die Einrückungen beim Kopieren kaputt gemacht. :D

User-4 am 15.04.07 14:26

die <> kannst du dch auch durch &gt; und &lt; (ist es lt?) ersetzen...bei ' und " bin ich mir nicht ganz sicher :D

und zweimal die gleiche if-bedingung? komich, komisch :D

naja...gut....gibsch dafür nicht schon vorgefertigte Funktionen? mhh...sollten die mal eincoden...dass man ein array übergeben kann an Zeichen und die Werden dann umgewandelt in hex codes ;)

User-1 am 15.04.07 16:18

Also erstmal zu dem Code. Der ist meiner Textclass entnommen und eigentlich viel länger. Aber das hat alles nix mit dem Thema zu tun, daher hier nur der Ausschnitt.

Ja, es gibt Funktionen dazu, die habe ich bisher auch genommen. Allerdings hab ich im xHTMLForum da eine Diskussion zu gehabt und mir wurde die Hexadezimalversion empfohlen.

(Zumal ich das so auch besser wieder zurück umformen kann, als wenn zig andere Zeichen auch noch unnötig umgeformt werden, denn Umlaute bspw. kann ich ja auch unmaskiert lassen, wenn der Zeichensatz korrekt eingestellt ist.)

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt