Lieber Mike,
$cont = preg_replace('~^([^\r\n]+).*~', '\1', $cont);
ich habe das mal probiert aber dann kommen schon Inhalte der 2.zeile mit rein.
ja, in meinem Muster fehlt ein (?s), damit nicht zeilen-orientiert gelesen wird.
$cont = preg_replace('~(?s)^([^\r\n]+).*~', '\\1', $cont);
Und ist es nicht sogar so, dass gerade regex nicht zu empfehlen sind bei solchen Aufgaben, eben wegen Performance?
Diese RegEx-Geschichte wird einmal pro Datei für eine überschaubare Stringlänge ausgeführt. Das ist OK. Hätte ich eine RegEx-Prüfung in der Schleife vorgenommen, wäre das etwas anderes gewesen - dort verwende ich aber strpos().
Ich habe mich deswegen für eine RegEx-Prüfung entschieden, da ich gerne auf "Nummer sicher" gehe, und in Deinen Dateien vielleicht einmal ein Zeilenende ohne Linefeed (\r) stehen könnte. Deine strpos()-Funktion würde dieses dann nicht finden...
Liebe Grüße,
Felix Riesterer.
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)