Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
Phorum.org Hilfe-Forum
Beiträge im Thema:
2
Erster Beitrag:
vor 16 Jahren, 3 Monaten
Letzter Beitrag:
vor 16 Jahren, 3 Monaten
Beteiligte Autoren:
Clemens Weiß

htmlentities() in read_functions.php sinnvoll?

Startbeitrag von Clemens Weiß am 20.04.2002 23:43

Hi,
eigentlich vermisse ich in der read_functions.php die Anwendung der Funktion htmlentities(). Stattdessen werden < und > manuell ersetzt:

// replace all tag starts and ends
$body=str_replace("", ">", $body);

Andere Sonderzeichen (Umlaute vor allem) werden nicht maskiert.

Gibt es dafür einen guten Grund? Ansonsten wäre das vielleicht für das nächste Release eine Maßnahme :-)

Nebenbei: ich habe in meine read_functions.php noch folgendes eingefügt:

// ersetzt doppelte Leerzeichen durch geschütztes (z. B. bei Einrückungen)
$body = str_replace(" ", "  ", $body);
// zum zweiten Mal, falls drei Leerzeichen hintereinander standen
$body = str_replace(" ", "  ", $body);
// einzelne Leerzeichen am Zeilenanfang
$body = str_replace("\n ", "\n ", $body);
// Leerzeichen hinter HTML-Tags
$body = str_replace("> ", "> ", $body);

Außerdem habe ich bei den URL-Replace-Funktionen noch das Prozentzeichen hinzugefügt, das ja bei einigen URLs vorkommt (bei mit urlencode() bearbeiteten URLs).

Antworten:

Aha,
auch wenn die Anwendung von htmlentities() nicht möglich ist, sollten wenigstens auch &-Zeichen maskiert werden.
Die &nbsp; in meinem Code werden nämlich nicht angezeigt :-)

Also nochmal:

// ersetzt doppelte Leerzeichen durch geschütztes (z. B. bei Einrückungen)
$body = str_replace(" ", "&nbsp; ", $body);
// zum zweiten Mal, falls drei Leerzeichen hintereinander standen
$body = str_replace(" ", "&nbsp; ", $body);
// einzelne Leerzeichen am Zeilenanfang
$body = str_replace("\n ", "\n&nbsp;", $body);
// Leerzeichen hinter HTML-Tags
$body = str_replace("> ", ">&nbsp;", $body);



von Clemens Weiß - am 20.04.2002 23:45
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.