webForumDet fria alternativet

Regex

2 svar · 359 visningar · startad av joksi

joksiMedlem sedan jan. 20068 inlägg
#1

Tjena

Jag behöver parsa ett email från på en server,för att plocka ut en viss del, och vad ja förstått går det bara att göra med sk. regular expressions. HAr sökt runt och tycker det verkar väääldans krångligt. Har ngn lust o jälpa mig på vägen så ja har något att utgå ifrån?

Det jag vill plocka ut ur mailet och skriva till en ny textfil,mailet ser ungefär ut så här:

------=_NextPart_000_0003_01C63ED5.52D0F560
Content-Type: image/jpeg;
name="2121.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="2121.jpg"

//BÖRJAN
q1jaOC5miRmVmVHKgkZ2kgdxk4+pqJQu0+wI0fGV0LzxLeS7JkfcElWVdrCRVCuMf7wOPbHSsiii
qSsrAFFFFMAooooAKKKKACiiigAooooAKKKKACiiigD/2Q==
osv. osv.
//SLUT

------=_NextPart_000_0003_01C63ED5.52D0F560--

Allt som dyker upp mellan //BÖRJAN o //SLUT vill jag skriva till en ny textfil alltså. Hur skulle en sån regular expression kunna se ut må tro??

The_HulkMedlem sedan juni 20031 837 inlägg
#2
$match = array();
// $mail innehåller mailet.
if(preg_match("/\/\/BÖRJAN(.*)\/\/SLUT/s", $mail, $match))
{
  // write $match[1] to file
}
sl0kMedlem sedan maj 2005562 inlägg
#3

Fast jag antar att //BÖRJAN och //SLUT inte står där i filen från början ??

$contents = file_get_contents( $filename);

preg_match( "|filename=\"([\w.]*)\"[\n]+(.*)[\n]+------=_Next.*|s", $contents, $match);
$filnamnAttSkrivaTill = "temp.txt";
$fh = fopen($filnamnAttSkrivaTill, "w");
fwrite($fh, $match[2]);
fclose($fh);
126 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)