Bonjour,
je cherche à scanner les caractères contenu dans l'objet d'un mail ainsi que dans le corps et le comparé avec des mot clé contenu dans une base de données.
le problème est que la comparaison est beaucoup trop lente
première tentative avec mb_eregi => timme limit exceeded même avec 200 secondes
preg_match => même combat
après quelque recherche j'ai finalement trouver que mb_eregi est désormais obsolète, ce qui peut expliquer un peu la chose.
avec l'utilisation de strpbrk() il me détecte plusieurs fois le même mot dans un seul mail alors que celui ci n'y est qu'une fois
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 function Scan_mail($client,$inbox){ $nMessages = imap_num_msg($inbox); for($index=1; $index <= $nMessages; $index++){ $header = imap_header($inbox, $index); $corps= imap_body($inbox,$index); if (preg_match('#'.$client.'#',"value=".$header->subject)|| preg_match('#'.$client.'#',"value=".$corps)) { echo 'reussi pour ' . $client. '<BR/>'; } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 function Scan_mail($client,$inbox){ $nMessages = imap_num_msg($inbox); for($index=1; $index <= $nMessages; $index++){ $header = imap_header($inbox, $index); $corps= imap_body($inbox,$index); if (strpbrk($client,$header->subject)|| strpbrk($client.$corps)) { echo 'reussi pour ' . $client. '<BR/>'; } }}
un petit coup de main pour un pauvre stagiaire en perdition ?
Partager