Alexander, W.: Charset und HTML-Tags

Hallo,

ich arbeite an einem Kundenprojekt (Online-Tagebuch), mit ziemlich vielen Einträgen. Das Projekt wurde aus zwei verschiedenen Projekten (ebenfalls Tagebücher) zusammengeschmolzen. Das eine Projekt ist dabei schon ziemlich alt und -glaube- noch aus PHP3 Zeiten. In der Datenbank befinden sich mehrere Beiträge, die unterschiedliche Kodierung haben (UTF-8 usw.). Außerdem beinhalten die Texte HTML-Tags, die zum Teil "zerschossen" sind.

Der Kunde will nun die Beiträge in PDF-Dateien exportieren lassen und zwar mit ca. 200 Beiträgen pro eine PDF-Datei. Beim Exportieren stoße ich auf unzählige Probleme mit Umlauten und mit den HTML-Tags. Einerseits werden also Umlaute falsch dargestellt, andererseits werden Teile des Textes abgeschnitten, wenn irgendwo ein Tag falsch geschlossen ist.

Ich habe die unnötigen Tags mit "strip_tags" gefiltert.

$description = html_entity_decode(strip_tags($description, '<p><u><b><br><strong><font>'));

Leider, wie oben erwähnt schneidet die Funktion Textteile weg.

Dazu habe ich zwei Fragen:

1.) Wie filtere ich die Tags (außer o.g.) ästhetisch raus?

2.) Wie konvertiere ich die Inhalte in ein UTF-8 Format richtig, auch wenn die Ausgangstexte mal UTF-8, mal Westeuropäisch und mal  anderes kodiert sind?

Gruß
Alexander.

  1. hallo Alexander,,

    Ich habe die unnötigen Tags mit "strip_tags" gefiltert.

    $description = html_entity_decode(strip_tags($description, '<p><u><b><br><strong><font>'));

    Leider, wie oben erwähnt schneidet die Funktion Textteile weg.

    Dazu habe ich zwei Fragen:

    1.) Wie filtere ich die Tags (außer o.g.) ästhetisch raus?

    hm, wenn das so ist, wirste wohl um nen Regex nicht rumkommen oder alles per Hand rauslöschen

    grüße,
    henman

    --
    "Sir! We are surrounded!" - "Excellent! We can attack in any direction!"
    sh:( fo:| ch:? rl:° br:> n4:? ie:% mo:) va:| de:] zu:) fl:{ ss:| ls:[ js:|
  2. Hi,

    In der Datenbank befinden sich mehrere Beiträge, die unterschiedliche Kodierung haben (UTF-8 usw.).

    Und wie wurde da bisher unterschieden, was in welcher Kodierung vorliegt?

    Außerdem beinhalten die Texte HTML-Tags, die zum Teil "zerschossen" sind. [...]
    1.) Wie filtere ich die Tags (außer o.g.) ästhetisch raus?

    Vielleicht erst mal mit HTML Tidy das „zerschossene“ reparieren lassen - danach dürfte es vermutlich leichter sein, gezielt Tags zu entfernen.

    2.) Wie konvertiere ich die Inhalte in ein UTF-8 Format richtig, auch wenn die Ausgangstexte mal UTF-8, mal Westeuropäisch und mal  anderes kodiert sind?

    iconv, mb_convert_encoding/mb_detect_encoding.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?