Jörg Reinholz: txt-Datei includen - Formatierung u. Sonderzeichen

Beitrag lesen

Wie wird eine txt-Datei so includet, dass die Formatierung (Umbrüche und Tabs und so) erhalten bleibt und Sonderzeichen, die roh vorliegen, als dezimal (etwa ö als ö) ausgegeben werden?
Besten Dank im Voraus!
Steve

Dedlfix und Gunnar haben Dir erklärt, warum sowas nicht gut ist. Besser ist, Du änderst die Kodierung. On the fly geht das wie mit iconv folgt:

$s=[link:http://de3.php.net/manual/de/function.iconv.php@title=iconv]("ISO-8859-15", "UTF-8", file_get_contents('deine_textdatei.txt'));

Alternativ:

$s=[link:http://de3.php.net/manual/de/function.mb-convert-encoding.php@title=mb_convert_encoding](file_get_contents('deine_textdatei.txt'), "UTF-8", "ISO-8859-15");

Beachte, die umgedrehte Reihenfolge der Argumente.

Natürlich ist es Dir unbelassen, unter Verwendung einer Liste für GANZ SPEZIELLE ZWECKE mit str_replace selbst einen kodierer zu schreiben:

function mk_murks_from_iso8859_1(s) {  
  $ar_search=array('ä', 'Ä', 'ü', 'Ü', 'ö', 'Ö');  
  $ar_replace=array('ä', 'Ä', 'ü', 'Ü', 'ö', 'Ö');  
}

und zu verwenden:

$s=mk_murks_from_iso8859_1(file_get_contents('deine_textdatei.txt');

für andere Funktionen ist nämlich nicht klar, wie Du z.B. mit <,>,', oder " umgehen willst.

Jörg Reinholz