Wert aus String ausschneiden
Michael
- php
Hallo,
habe euren Rat befolgt und versucht ein PHP zu basteln das mir was ausschneiden soll:
if( false == ($MFrom=file_get_contents( './tempfile.tmp' )))
{
echo "Could not read file.";
}
else
{
echo "File contents! ";
$mail_int_start = strpos($MFrom, 'From:');
$mail_int_end = strpos($MFrom, 'Message-ID', $mail_int_start);
$EE = substr($MFrom, $mail_int_start, $mail_int_end);
}
Rauskommen tut das (Beispiel Email):
File contents! From: "skatedeluxe.de" Message-ID: 6a622944efc3a51a501d6b405c61275a@www.skatedeluxe.de X-Priority: 3 X-Mailer: PHPMailer [version 1.73] usw usw usw usw usw ................
Ausgeschnitten werden soll nur das:
From: "skatedeluxe.de" oder besser sogar nur das: info@skatedeluxe.de
Bin ich auf dem Holzweg mit meinem Code?
Gruß
Michael
Mahlzeit Michael,
habe euren Rat befolgt und versucht ein PHP zu basteln das mir was ausschneiden soll:
Welchen Rat? Worum geht's? Wieso bleibst Du nicht in Deinem alten Thread bzw. - falls sich dieser bereits im Archiv befindet - verlinkst ihn wenigstens?
Das ist wieder einmal ein gutes Beispiel dafür, warum Doppelpostings unerwünscht sind ...
Rauskommen tut das (Beispiel Email):
File contents! From: "skatedeluxe.de" Message-ID: 6a622944efc3a51a501d6b405c61275a@www.skatedeluxe.de X-Priority: 3 X-Mailer: PHPMailer [version 1.73] usw usw usw usw usw ................
Was bedeutet "rauskommen"? Ich sehe in Deinem Code nur die Ausgabe des "File contents!" - woher kommt der Rest? Steht das so in der Datei? Wo wird es ausgegeben? Oder ist das bereits der "ausgeschnittene" Text?
Ausgeschnitten werden soll nur das:
From: "skatedeluxe.de" oder besser sogar nur das: info@skatedeluxe.de
Falls ersteres: suche nach "Message-ID:" und nimm einfach nur alles davor.
Falls letzteres: dieser String kommt in Deinem Beispiel nicht vor - wie willst Du ihn ausschneiden?
Bin ich auf dem Holzweg mit meinem Code?
Kommt darauf an, wo Du hinwillst ...
MfG,
EKKi
Hallo,
sorry, wenn ich mich undeutlich ausgedrückt habe! :)
Möchte folgendes:
Habe eine Email von Outlook als DATEI.msg in einem Temp-Ordner gespeichert.
Diese Datei wird in einem vorhergehenden PHP Ablauf in meine MySQL Tab. gespeichert.
Ich hätte es eben gerne gehabt, wenn ich die Datei in meiner MySQL Tabelle speichere, daß ich nicht jedesmal den Absender selbst eingeben muß.
Wie könnte ich es sonst realisieren, daß er mir den Absender aus der Datei holt?
Hier mein jetziger Code:
// Email-Versendet ermitteln
if( false == ($MFrom=file_get_contents( './tempfile.tmp' )))
{
echo "Could not read file.";
}
else
{
echo "File contents! ";
$mail_int_start = strpos($MFrom, 'From:');
$mail_int_end = strpos($MFrom, '>', $mail_int_start);
$EE = substr($MFrom, $mail_int_start, $mail_int_end);
$eintrag = mysql_query("UPDATE $TBL_0002 SET author = '$EE' WHERE DOKU01_id = '$D_ID'");
$eintragen = mysql_query($eintrag);
}
echo "$EE" -> Test um zu sehen was ausgeschnitten wird!
Was raus kommt hat man gesehen!
Michael
Mahlzeit Michael,
Ich hätte es eben gerne gehabt, wenn ich die Datei in meiner MySQL Tabelle speichere, daß ich nicht jedesmal den Absender selbst eingeben muß.
Klingt logisch.
Wie könnte ich es sonst realisieren, daß er mir den Absender aus der Datei holt?
Indem Du - wie Du es bereits versucht hast - aus dem Quelltext der Mail den richtigen Teil ausschneidest. Dazu muss insbesondere die Zeile, in der der Absender steht, allerdings IMMER das absolut gleiche Muster aufweisen ... ist das gewährleistet?
$mail_int_start = strpos($MFrom, 'From:');
$mail_int_end = strpos($MFrom, '>', $mail_int_start);
$EE = substr($MFrom, $mail_int_start, $mail_int_end);echo "$EE" -> Test um zu sehen was ausgeschnitten wird!
Was raus kommt hat man gesehen!
Meinst Du, es ist eine gute Idee, das erste nach dem "From:" auftauchende ">" als Abschluss einer Email-Adresse zu betrachten?
Ansonsten bleibe ich dabei: verlinke Deinen ursprünglichen Thread (ich möchte ihn jetzt nicht suchen, Du weißt besser, wie er heißt oder wann er war), damit man dort weiter nach einer Lösung suchen kann ...
MfG,
EKKi