cs_aKheNathOn
Messages postés575Date d'inscriptiondimanche 23 décembre 2001StatutMembreDernière intervention23 octobre 2012 15 févr. 2010 à 09:25
merci pour cette fonction bien pratique, je compte l'utiliser dans un module de newsletter
winwarrior
Messages postés654Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 février 20091 13 févr. 2010 à 13:01
Sinon (pour rappel) il y a les fonctions :
- imap_8bit (nécessite l'extension imap activée)
- quoted_printable_encode (nécessite php 5.3)
Niveau code j'ai quelques remarques à faire, il vaut mieux utiliser les fonctions preg_* plutot que ereg_* qui sont maintenant dépreciées et
for ($j = 0; $j <= strlen($str) - 1; $j++)
devientfor ($j 0, $k strlen($str); $j < $k; $j++)
ça évitera de recalculer la taille de $str à chaque itération
je chipote mais il y a aussi
substr ( $str, $j, 1 )
qui pourrait devenir
$str[$j]
"strtoupper ( sprintf("%02X", $ascii ) )", le strtoupper est inutile comme X veut déjà dire qu'on veut le résultat en majuscule
et une dernière chose
substr($line,73,strlen($line))
devient
substr($line,73)
la fonction substr, si tu spécifie pas de 3ème argument prend automatiquement la longueur totale de la chaine
voilà ça sera tout :-)
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 13 févr. 2010 à 09:20
Mouais...
Quelques suggestions ou remarques :
1 - simplification du code :
Les tableaux $arrayaccent, $arraysansaccent et l'appel de la fonction str_replace($arrayaccent, $arraysansaccent, $str) sont inutiles. Un appel à la fonction native htmlentities fera l'affaire et sera nettement plus performant.
2 - Ce code ne supporte pas l'unicode comme ici :
$char = substr ( $str, $j, 1 );
puisque certains caractères (accentués, etc.) sont encodés sur 2 caractères et non 1.
Sinon, merci de nous avoir rappelé l'existence de la RFC-2045. :)
15 févr. 2010 à 09:25
13 févr. 2010 à 13:01
- imap_8bit (nécessite l'extension imap activée)
- quoted_printable_encode (nécessite php 5.3)
Niveau code j'ai quelques remarques à faire, il vaut mieux utiliser les fonctions preg_* plutot que ereg_* qui sont maintenant dépreciées et
for ($j = 0; $j <= strlen($str) - 1; $j++)
devientfor ($j 0, $k strlen($str); $j < $k; $j++)
ça évitera de recalculer la taille de $str à chaque itération
je chipote mais il y a aussi
substr ( $str, $j, 1 )
qui pourrait devenir
$str[$j]
"strtoupper ( sprintf("%02X", $ascii ) )", le strtoupper est inutile comme X veut déjà dire qu'on veut le résultat en majuscule
et une dernière chose
substr($line,73,strlen($line))
devient
substr($line,73)
la fonction substr, si tu spécifie pas de 3ème argument prend automatiquement la longueur totale de la chaine
voilà ça sera tout :-)
13 févr. 2010 à 09:20
Quelques suggestions ou remarques :
1 - simplification du code :
Les tableaux $arrayaccent, $arraysansaccent et l'appel de la fonction str_replace($arrayaccent, $arraysansaccent, $str) sont inutiles. Un appel à la fonction native htmlentities fera l'affaire et sera nettement plus performant.
2 - Ce code ne supporte pas l'unicode comme ici :
$char = substr ( $str, $j, 1 );
puisque certains caractères (accentués, etc.) sont encodés sur 2 caractères et non 1.
Sinon, merci de nous avoir rappelé l'existence de la RFC-2045. :)