Avatar billede cht22 Professor
12. februar 2016 - 13:27 Der er 7 kommentarer og
1 løsning

Hvordan henter man subject i headeren fra nyhedsgrupper

Jeg har en side der henter nyhedsgrupper. Det er der ingen problemer i, bortset fra at jeg mangler noget kode der kan hente hele emnet i headeren i tilfælde hvor emnet bliver delt over flere linjer i headeren. Jeg har dette som kan hente den første linje. Men hvordan kan man undersøge om de næste linjer hører med til emnet?


$strStartText = "Subject: ";
$varpos = strpos(strText,$strStartText);
$temp2 = substr($strText,$varpos+strlen($strStartText));
$varpos = strpos($temp2,"\r\n");
if ($varpos > 0)
$temp2 = substr($temp2,0,$varpos);
$varpos = strpos($temp2,"\n");
if ($varpos > 0)
$temp2 = substr($temp2,0,$varpos);


Jeg overvejer at man evt. kan undersøge om næste linje starter med =? og ender med ?= og hvis den gør så skal den tages med. Findes der en nem måde at gøre det på? Jeg har ikke undersøgt om man så overholder standarden.

Eksempel på header med emne over flere linjer ses her:
http://cthyge.dk/newsgroups/co--source.php?id=3704
Avatar billede cht22 Professor
12. februar 2016 - 16:49 #1
Fandt lige ud af at linjerne ikke starter med =? men med tab, så linjerne starter med: "\t=?"

Skal man ud i at bruge explode eller hvordan gør man sådan noget?
Avatar billede cht22 Professor
12. februar 2016 - 19:16 #2
Har fået løst problemet. Brugte explode og foreach til at gennemgå hver linje for sig.

Fandt ud af der også var mange gange der blev brugt mellemrum i stedet for tab.
Avatar billede jakobdo Ekspert
12. februar 2016 - 20:58 #3
Tror nu du evt. burde overveje denne løsning: https://github.com/plancake/official-library-php-email-parser
Det ligner en almindelig email du har der.
Og den kan jo parses og der er en årsag til de "underlige" tags ala: =?ISO... Det er fordi det er tegnsættet der er anvendt på den efterfølgende streng.
Avatar billede cht22 Professor
13. februar 2016 - 08:20 #4
Så får jeg bare denne fejlmeddelelse:

Fatal error:  Class 'PlancakeEmailParser' not found in /home/virtual/cthyge.dk/public_html/newsgroups/co--source.php on line 100
Avatar billede jakobdo Ekspert
13. februar 2016 - 17:32 #5
Avatar billede cht22 Professor
13. februar 2016 - 18:06 #6
Jeg havde glemt den include... Tak nu virker det.
Avatar billede jakobdo Ekspert
13. februar 2016 - 19:15 #7
Du får et svar.
Avatar billede jakobdo Ekspert
14. februar 2016 - 09:44 #8
Takker for point.
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

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