Bonjour à tous,

Je suis en train de créer une newsletter et ma question porte sur la génération de la partie html envoyée par email.

J'utilise les fonctions ob_start(), ob_gets_contents() et ob_get_clean() pour récupérer le code html dans une variable php.

Mon code fonctionne pour le moment comme ça (en résumé) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
- récupération des données de la newsletter
- récupération de la liste des destinataires
 
while(boucle listant les destinataires) {
ob_start();
 
--- mon code html qui est assez long ---
$contenu = ob_get_contents();
ob_get_clean();
 
mail( ...);
 
}
Dans le code html je dois y mettre des variables propre à chaque destinataire, d'où l'appel ob_start à l'intérieur de la boucle.

Il me semble que le fait d'appeler cette fonction dans la boucle est assez lourd et prend du temps.

Je pensai à une optimisation (si ça optimise vraiment) :
Mettre à la place des données de chaque destinataire un mot identifiable, créer la variable $contenu avec ob_start() avant la boucle et faire un str_replace ou preg_replace à l'intérieur de la boucle pour remplacer le mot par les variables du destinataire.

Pensez-vous que cette optimisation en est vraiment une et rendrait le script moins lourd ?

Merci d'avance.