gunter: HTML-Entities

Hallo,
wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben? Also z.B.
<em>Grüße</em>  zu <em>Gr&uuml;&szlig;e</em>

  1. Hallo,
    wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben? Also z.B.
    <em>Grüße</em>  zu <em>Gr&uuml;&szlig;e</em>

    HTML-Entities war schon das richtige Stichwort :).
    Die Funktion heisst:
    string htmlentities  ( string $string  [, int $quote_style  [, string $charset  [, bool $double_encode  ]]] )
    Genaueres findest du unter:
    http://de2.php.net/htmlentities

    Ciao,
        Layna

    1. Moin!

      wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben? Also z.B.
      <em>Grüße</em>  zu <em>Gr&uuml;&szlig;e</em>

      HTML-Entities war schon das richtige Stichwort :).
      Die Funktion heisst:
      string htmlentities  ( string $string  [, int $quote_style  [, string $charset  [, bool $double_encode  ]]] )

      Die Funktion wandelt aber nicht nur Umlaute, sondern auch die Zeichen, die HTML-Tags bilden, in Entities um, und genau das war nicht gewünscht.

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
  2. Moin!

    wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben?

    Wozu das denn? Entities sind nur dann notwendig, wenn das gewünschte Zeichen in der aktuellen Codierung des Dokuments nicht dargestellt werden kann. Das ist bei Umlauten allerdings nur sehr selten der Fall, wenn man einmal die üblichen westeuropäischen Codierungen wie ISO-8859-1, ISO-8859-15, Windows-1252 oder UTF-8 betrachtet.

    Wenn du also keine Änderungen an der Zeichencodierung vornimmst, ist es das beste, auch die Umlaute einfach direkt auszugeben, nicht als Entity.

    <em>Grüße</em>  zu <em>Gr&uuml;&szlig;e</em>

    Das erste Beispiel ist gültiger HTML-Code, das zweite Beispiel ist nicht "besser".

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Moin!

      wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben?

      Wozu das denn?

      Der Firefox hat mir auf meinem lokalen System Unsinn angezeigt, lag aber wohl an einem Fehler bei der ISO-Kodierung. Und ich dachte mir, eine Kovertierung kann zumindest nix schaden...

      Entities sind nur dann notwendig, wenn das gewünschte Zeichen in der aktuellen Codierung des Dokuments nicht dargestellt werden kann. Das ist bei Umlauten allerdings nur sehr selten der Fall, wenn man einmal die üblichen westeuropäischen Codierungen wie ISO-8859-1, ISO-8859-15, Windows-1252 oder UTF-8 betrachtet.

      Wenn du also keine Änderungen an der Zeichencodierung vornimmst, ist es das beste, auch die Umlaute einfach direkt auszugeben, nicht als Entity.

      <em>Grüße</em>  zu <em>Gr&uuml;&szlig;e</em>

      Das erste Beispiel ist gültiger HTML-Code, das zweite Beispiel ist nicht "besser".

      • Sven Rautenberg
      1. @@gunter:

        Der Firefox hat mir auf meinem lokalen System Unsinn angezeigt, lag aber wohl an einem Fehler bei der ISO-Kodierung. Und ich dachte mir, eine Kovertierung kann zumindest nix schaden...

        Es schadet wohl immer, einen Fehler kaschieren zu wollen anstatt ihn zu beseitigen.

        Live long and prosper,
        Gunnar

        PS: Sei bitte kein Vollquottel!

        --
        „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
      2. Moin!

        wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben?

        Wozu das denn?

        Der Firefox hat mir auf meinem lokalen System Unsinn angezeigt, lag aber wohl an einem Fehler bei der ISO-Kodierung. Und ich dachte mir, eine Kovertierung kann zumindest nix schaden...

        Meta-Tags helfen bei lokalen Problemen. Wenn ein HTTP-Server im Spiel ist, fügt der oftmals Codierungsangaben in den HTTP-Header ein, und übernimmt dabei oft auch die Meta-Angabe des Dokuments.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."