Avatar billede ducks Nybegynder
18. december 2008 - 07:14 Der er 11 kommentarer og
1 løsning

Frasortere uønsket tekst i modtaget mail

Jeg har lavet en class til at håndtere kundesupport, hvor supporten læser og besvarer mails inde i systemet og kunden svarer tilbage på disse ved at svare tilbage på den mail de får fra supporten. (Mailsne bliver lagt over i databasen før supporten kan læse dem)

Mit problem er, at få fjernet alt det unødvendige indhold fra mailen får supporten skal læse den, da det ligger i databasen bygger jeg selv noget struktur op, hvor de læser den, så de kan se fortløbende beskeder lidt ligesom i forumet her. Det er lykkedes mig fjerne det meste ved at sortere linier der starter med > ud, ved dog ikke om det er en holdbar løsning eller kun nogle email klienter putter det tegn foran den tekst som er en del af den "gamle" samtale i mailen?

Lige nu er mit problem dog mest, at få fjernet de ting, som umuligt kan identificeres som være skrevet før, fx sådan noget:

On Thu, 18 Dec 2008 06:44:05 +0100, MyCompany Support <support@bitbyte.dk>
wrote:




For overskuelighedens skyld ser de mails, som jeg har testet, sådan ud når de bliver svaret tilbage:

Nyt svar til supporten blabla

On Thu, 18 Dec 2008 06:44:05 +0100, MyCompany Support <support@bitbyte.dk> wrote:
> Supporten
> Skrev
> noget tidligere
> her


Jeg vil gerne have at det kun er "Nyt svar til supporten blabla" der bliver lagt ind i databasen.
Avatar billede znopie Nybegynder
18. december 2008 - 08:51 #1
Kigger med her.
Avatar billede coderdk Praktikant
18. december 2008 - 20:34 #2
Hvis du vil fjerne det, så prøv:

$nytxt = preg_replace( "/^>.*$/m", "", $txt );
Avatar billede ducks Nybegynder
19. december 2008 - 04:39 #3
Ender jo op med samme resultat:

Nyt svar til supporten blabla

On Thu, 18 Dec 2008 06:44:05 +0100, MyCompany Support wrote:
Avatar billede coderdk Praktikant
19. december 2008 - 08:22 #4
Var det ikke de linjer med > du ville fjerne? Prøv:

$nytxt = preg_replace( "/^(On .*?, \d+|>).*$/m", "", $txt );
Avatar billede ducks Nybegynder
19. december 2008 - 09:04 #5
Nej, dem kan jeg sagtens få væk, problemet er de linier der ikke er ønskede og som ikke starter med >, hvis man på nogen måde kan gøre noget der
Avatar billede coderdk Praktikant
19. december 2008 - 09:10 #6
Hvilke linjer? Har du prøvet mit sidste forslag?
Avatar billede ducks Nybegynder
23. december 2008 - 10:54 #7
Jo det ser ud til at være noget jeg kan bruge, hvordan fjerner jeg også linier hvor en bestemt variabel indgår?
Avatar billede coderdk Praktikant
23. december 2008 - 11:30 #8
Ikke forstået? Hvad vil du fjerne? Kan du komme med et eksempel?`
Avatar billede ducks Nybegynder
23. december 2008 - 12:47 #9
Sender jeg svar tilbage med Thunderbird, har den stadig ikke fjernet den linie, hvor der står "MyCompany Support skrev:", så ville gerne have at den fjerner den linie, går ud fra den eneste måde er at undlade linier, hvor der står MyCompany Support, som er gemt i en variabel $_SETTINGS['support_name'] :-)
Avatar billede coderdk Praktikant
23. december 2008 - 14:22 #10
Jeg er nødt til at se hvad du mener
Avatar billede ducks Nybegynder
23. december 2008 - 18:03 #11
Sendt med thunderbird ser det nogenlunde sådan ud:

MyCompany Support skriv:
> Supporten
> Skrev
> noget tidligere
> her

Nyt svar til supporten blabla
Avatar billede ducks Nybegynder
11. oktober 2010 - 09:43 #12
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester