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
<?php
preg_split( '%[s]+(from|to|bcc|cc|subject):%si', $sString, -1, PREG_SPLIT_DELIM_CAPTURE
) ?>
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:
<?php
preg_match_all( '/[s]+(from|to|bcc|cc|subject):(.*?)([w]+:)/si', $sString, $aMatches, PREG_SET_ORDER
); ?>
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