Charset und HTML-Tags
Alexander, W.
- php
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.
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
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