2009-02-23 2 views
1

Je suis en train d'écrire un logiciel de support et je me suis dit que pour mettre en évidence ce qu'il y a de bien, il serait bien d'avoir un support HTML.Existe-t-il un moyen de décoder les e-mails HTML?

Regarder Outlooks « HTML » Je veux ramper dans la position fœtale et pleurer!

Y at-il une classe php pour décrypter des emails HTML pour soutenir HTML de base? Je ne veux pas afficher les E-Mails dans un cadre car je veux travailler avec les données et les analyser. Je ne veux pas non plus supporter des choses stupides comme changer de police depuis son webapp je veux que ma webapp dise ce qu'est la police et ne pas avoir un hippie qui envoie les e-mails de l'équipe de soutien dans la bande dessinée sans et couleur jaune. Je veux soutenir gras, italique, souligné, étendu et listes (http://dl.getdropbox.com/u/5910/Jing/2009-02-23_2100.png). Je ne connais pas non plus la différence entre le texte enrichi et le HTML puisque j'ai toujours pensé que le texte enrichi ne permettait que les fonctions que je voulais, mais il me semble que je peux tout faire en texte enrichi Html.

Aussi je devrais ajouter que je utilise le Zend Framework en raison de la Zend_Mail fabuleux

Répondre

0

Je suis assez sûr que vous devez écrire votre propre classe ... il n'y a pas de classe réelle comme ça dans le PHP les documents que j'ai vu ..

+0

Je pensais à une classe que quelqu'un a écrit depuis que je devrais regarder quelles choses merdiques tous les gars majeurs font .. Outlook, Apple Mail, Windows Live Mail, gmx, gmail .... – Thomaschaaf

0

Tirer le HTML à partir d'un courrier Outlook peut sembler effrayant au début, mais il est seulement balises HTML - juste beaucoup d'entre eux!

Donc, si vous trouvez juste un « < », puis trouver le prochain « > » vous avez une balise. Si ce n'est pas quelque chose que vous voulez avoir, comme "</strong >" il suffit de le jeter et de répéter Simple comme ça.

(Je l'ai fait exactement dans un vérificateur d'orthographe et de grammaire qui extrait non seulement le texte brut d'Outlook et le vérifie - il peut ensuite repousser tous les changements de l'utilisateur dans le HTML sans détruire les pas facile, bien! ;-)

0

Ou vous pouvez utiliser la variante de texte brut attaché à l'e-mail. S'il n'y a pas de variante en texte brut, vous pouvez utiliser une version dépouillée du code HTML. Je pense que l'utilisation de ces étapes que vous auriez un bon résultat:

  1. Retirez les nouvelles lignes
  2. tour </p> et <br/> en nouvelle ligne
  3. Strip toutes les balises HTML
+0

ne me donnerait pas la possibilité d'utiliser des listes en gras, en italique, soulignées, étendues et étendues. – Thomaschaaf

2

Vous redirigeriez par htmltidy puis En outre, filtrez-le avec quelque chose comme HtmlPurifier, mais bien sûr, vous pouvez éliminer quelque chose qui est essentiel à la compréhension du contenu. C'est le problème avec un format visuel, comme html.

1

Vous pouvez utiliser la fonction de PHP strip_tags(), et il est paramètre optionnel « de allowable_tags ». A propos du RTF et du HTML, je crois savoir que lorsque Outlook et Exchange communiquent avec des systèmes non compatibles RTF, ils convertissent RTF en HTML. Je ne suis pas sûr que ce soit toujours vrai, ou quelle est la cohérence de cette fonction, mais cela pourrait expliquer pourquoi les messages envoyés RTF semblent être HTML.

+0

Pas tellement pour mes listes :(http://dl.getdropbox.com/u/5910/Jing/2009-02-23_2100.png Perspective FU! (Désolé) – Thomaschaaf

+0

strip_tags est inadéquate, si vous ne faites pas confiance à la utilisateur (ce qui peut ou ne peut pas être le cas ici) Utilisez plutôt HtmlPurifier – troelskn

+0

HTMLPurifier semble délicieuse! Il suffit de l'obtenir pour travailler avec le Zend Framework :) – Thomaschaaf

Questions connexes