Willkommen in der Webstatt Zum Webstatt Blog und Stories
Dustwolf Dustwolf 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 Dustwolf

netcup.de Warum gibt es hier Werbung?
Wasili am 12.04.07 22:49

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

Dustwolf Dustwolf 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...

crooked am 13.04.07 13:34

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

Wasili 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.

Dustwolf Dustwolf 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.

Wasili am 13.04.07 18:58

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

Dustwolf Dustwolf am 13.04.07 19:07

Okay, danke.


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

Dustwolf Dustwolf 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?

Wasili 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... ;)

Dustwolf Dustwolf 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

nuit nuit 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 ;)

Dustwolf Dustwolf 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