Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [w. reg.] Pobieranie content-type z maila
Seth
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


Pisze wyrazenie regularne do pobrania Content-Typea z czystego maila i natrafilem na maly problem.

Mozliwe ustawienia Content-Type to:
Kod
Content-Type: multipart/alternative; boundary="jh2x4CpaBw6eoB8"

Kod
Content-Type: multipart/alternative; boundary=jh2x4CpaBw6eoB8

Kod
Content-Type: multipart/alternative;
     boundary="jh2x4CpaBw6eoB8"

Kod
Content-Type: multipart/alternative;
     boundary=jh2x4CpaBw6eoB8

Kod
Content-Type: multipart/alternative;
boundary="jh2x4CpaBw6eoB8"

Kod
Content-Type: text/plain; charset="utf-8"

Kod
Content-Type: text/plain;
     charset="utf-8"

itd...

Narazie mam takei wyrazenie:
Kod
/^content-type: (.*);$/im

ktore pobiera mi ta pierwsza opcje (multipart/alternatice itp.)


Nie wiem jednak jak sie zabrac do drugiej czesci: boundary i charset.

Moze ma ktos na to pomysl ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bendi
post
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Niestety nie przychodzi mi nic lepszego do glowy a na dodatek musze Cie nieco zmartwic, pomysla nie mam a na dodatek mam wrazenie ze te regulki, ktore wpisales w swoim poscie nei zadzialaja (przynajmniej nie zadzialaly na moim testowym zestawie naglowkow :/)

Sprawa jest niezwykle trudna - pokaze Ci co probowalem kombinowac, to moze akurat bedziesz mogl to jakos wykorzystac.

Najpierw myslalem zeby porozbijac same naglowki preg_splitem i lapac tez to pattern ktory powodowal rozbicie
  1. <?php
  2. preg_split( '%[s]+(from|to|bcc|cc|subject):%si', $sString, -1, PREG_SPLIT_DELIM_CAPTURE )
  3. ?>

Niestety okazalo sie ze to nie chce dzialac tak jak myslalem, bo okazalo sie ze takie naglowki jak "reply-to", albo kazdy inny z "to" w nazwie zaburzal wyszukiwanie naglowka "to"..

...no to pozniej wymyslilem ze bede pobieral wybrane naglowki w ten sposob:
  1. <?php
  2. preg_match_all( '/[s]+(from|to|bcc|cc|subject):(.*?)([w]+:)/si', $sString, $aMatches, PREG_SET_ORDER );
  3. ?>

Idea ktora lezala u podstaw napisania tej regulki zakladala ze naglowek moze sie przelamac do nowej linii, ale nie bedzie przeciez lecial dalej niz nastepny naglowek, no i wszytko cacy....
minusy:
- zatrzymuje sie na pierwszym napotkanym ciagu litery_: czyli np. "RE:" ktory przeciez jest bardzo czesto stosowany w tytulach
- po drugie lapiac nazwe kolejnego naglowka, silnik wyrazen oznacza te czesc tekstu jako przetworzona i juz do niej nie wraca, z powodu czego co drugi naglowek jest poprawnie odczytywany.

Niestety testowego zestawu naglowkow Ci tutaj nie moge wkleic, no ale jak sobie podejrzysz zrodlo wiadomosci spod outlooka expresa (nie tego ktory jest czescia ofisa, bo tam nie ma tej funkcji :/) to z mejla wyciagniesz co trzeba.

Jak widac moje proby skonczyly sie porazka, ale zycze powodzenia (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 15:07