Mit preg-match Zeilenumbrüche finden
Ich will den MIME-Header von E-Mails auswerten. Bei manchen E-Mails ist
jedoch hinter "Message-ID" keine Leerstelle und dann die ID sondern ein
Zeilenumbruch. D.h. die ID steht dann in der Folgezeile.
Dieser Versuch klappt, wenn die ID in der gleichen Zeile steht
Aber wie suche ich, wenn die ID in der 2. Zeile steht
Die Zeile schaut dann so aus
Torsten.E
jedoch hinter "Message-ID" keine Leerstelle und dann die ID sondern ein
Zeilenumbruch. D.h. die ID steht dann in der Folgezeile.
Dieser Versuch klappt, wenn die ID in der gleichen Zeile steht
$pattern = '/Message-ID\:\ (.*)/m';
Aber wie suche ich, wenn die ID in der 2. Zeile steht
Die Zeile schaut dann so aus
Message-ID:(Zeilenumbruch)
(Leerstelle)ID(Zeilenumbruch)
Torsten.E
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 182753
Url: https://administrator.de/forum/mit-preg-match-zeilenumbrueche-finden-182753.html
Ausgedruckt am: 21.12.2024 um 18:12 Uhr
4 Kommentare
Neuester Kommentar
Moin TorstenE,
wenn Du es mit dem Modifikator 'm' vorhast, dann etwa so:
Wenn Du nur 2-zeilige Suchen vorhast, schreibst Du statt der OR-Klammer so:
Wenn Du ohne den Modifikator 'm' arbeiten willst, dann etwa so:
Wenn Du nur 2-zeilige Suchen vorhast, schreibst Du statt der OR-Klammer so:
Freundliche Grüße von der Insel - Mario
wenn Du es mit dem Modifikator 'm' vorhast, dann etwa so:
$pattern = '/Message-ID\:([ ]|$[ ])[0-9]+$/mi';
Wenn Du nur 2-zeilige Suchen vorhast, schreibst Du statt der OR-Klammer so:
$pattern = '/Message-ID\:$[ 0-9]+$/mi';
Wenn Du ohne den Modifikator 'm' arbeiten willst, dann etwa so:
$pattern = '/Message-ID\:([ ]|[$ ])[0-9]+[$]/i';
Wenn Du nur 2-zeilige Suchen vorhast, schreibst Du statt der OR-Klammer so:
$pattern = '/Message-ID\:[$ 0-9]+[$]/i';
Freundliche Grüße von der Insel - Mario
die Frage ist doch: Ist es ein Zeilenumbruch oder doch ein anderes Zeichen? siehe ASCII und http://www.php.net/manual/de/function.ord.php