Isoler un bout de code HTML dans une page PHP ? - PHP - Programmation
Marsh Posté le 23-05-2006 à 21:40:39
oups, nan, je voulais dire du code HTML.
en gros, lutter contre toutes les balises qui ont du style dedans
Marsh Posté le 24-05-2006 à 09:14:30
je serait toi, je ferais une recherche de tout ce qui touche au css dans ton code source avec des regex (de php) puis je l'éliminerait simplement ...
Marsh Posté le 24-05-2006 à 09:14:48
en gros la source est dans ce genre là :
Code :
|
Marsh Posté le 24-05-2006 à 09:22:54
pourquoi te contenter de virer le style de l'email ?
celui-ci te rajoute également des balises <body> qu'il ne faudrait pas, et aussi <html>...etc...
comme clem85, je te dirais de chercher du coté des regex, pour ne récupérer du mail, que ce qui se trouve entre les balise <body>de celui-ci (en gros, tu n'a besoin que du contenu du mail, et surtout pas du reste)
Marsh Posté le 24-05-2006 à 09:29:56
exemple très simple, que tu doit modifier et paufiner afin d'arriver a ton resultat parfait:
Code :
|
Enjoy à toi maintenan d'adapter cela a ton gout
Marsh Posté le 24-05-2006 à 09:35:59
Bab > la solution est simple, tu affiche ton mail dans une <iframe>
Code :
|
Marsh Posté le 24-05-2006 à 09:53:21
je n,e pense pas que sa soit valide nemohp, cette personne veut que le css de SON site soit aussi appliqué au mail ... enfin si j'ai compris ..
Marsh Posté le 24-05-2006 à 12:13:34
clem85 > non, tu n'as pas compris. Il est clairement expliqué dans son premier message qu' il veux que les DEUX styles soient distincts
Marsh Posté le 24-05-2006 à 12:27:36
et il a aussi clairement édité son 1er post pour dire qu'il ne voulait pas de frame (ou iframe)
Marsh Posté le 24-05-2006 à 12:29:58
Xav_ a écrit : et il a aussi clairement édité son 1er post pour dire qu'il ne voulait pas de frame (ou iframe) |
en effet désolé (pourtant c'était bien avec les IFRAMES )
Marsh Posté le 24-05-2006 à 20:25:18
oui, je voudrais garder les 2 styles distinctement et sans utiliser si possible des frame ou iframe
mais j'ai l'impression que c'est pas gagné ...
Marsh Posté le 24-05-2006 à 21:24:13
ça ne fonctionne pas si tu mets une classe ou un id à ton body principal ?
C'est pour faire un client de messagerie ?
Regarde comment font les autres clients de messagerie.
Marsh Posté le 24-05-2006 à 22:43:19
non, ça ne marche pas avec "class" dans le body car beaucoup de styles passent outre et s'appliquent à l'ensemble du naviguateur.
oui c'est pour faire un client de messagerie.
j'ai essayé une iframe
ça marche bien sauf pour un point :
pour décoder les emails, j'utilise une classe qui me retourne diverses choses comme par exemple le message (plutot indispensable ) et également un tableau avecles fichiers joints . Or, ce tableau je peux le récuperer sans problème sans utiliser de iframe (logique, vu que c'est la meme page) alors qu'avec une iframe, les deux pages sont complétement indépendantes d'où pb.
Marsh Posté le 25-05-2006 à 08:41:22
et si tu mets ton mail dans un div pwet et que tu remplaces body par pwet dans le style du mail ?(parce que visiblement c est ca qui casse ton propre style mais peut etre j ai rien compris)
Marsh Posté le 25-05-2006 à 16:12:03
mIRROR a écrit : et si tu mets ton mail dans un div pwet et que tu remplaces body par pwet dans le style du mail ?(parce que visiblement c est ca qui casse ton propre style mais peut etre j ai rien compris) |
le truc c'est que je voudrais garder le style de chacun mais bien àsa place car si je remplace le style du mail, pour certains ça va mais d'autres deviennent pas bien du tout.
Marsh Posté le 25-05-2006 à 20:31:20
mais tu gardes le style du mail
peut etre je m explique mal aussi
tu ne changes que le nom le style ne change pas
faut juste que t injecte l interieur du body (parce que 2 <html> c est pas beau et ca doit pas etre valide) dans ta page pour garder une structure correcte de ton document
Marsh Posté le 25-05-2006 à 20:34:02
Faut regarder ce qui se fait ailleurs : hotmail par exemple supprime toutes les balises style qu'il rencontre. Yahoo c'est pareil je crois.
Marsh Posté le 25-05-2006 à 22:40:42
mIRROR a écrit : mais tu gardes le style du mail |
je ne vois pas vraiment ce que tu veux dire.
car peut importe les balises <html>,<body>,etc ..., certains styles (comme la modification de l'apparence des ascensseurs) modifie le naviguateur, quelque soit son emplacement dans la page
Marsh Posté le 25-05-2006 à 22:41:10
FlorentG a écrit : Faut regarder ce qui se fait ailleurs : hotmail par exemple supprime toutes les balises style qu'il rencontre. Yahoo c'est pareil je crois. |
je crois que c'est ce que je vais finir par faire oui ...
Marsh Posté le 25-05-2006 à 23:02:15
bab a écrit : je ne vois pas vraiment ce que tu veux dire. |
oui mais si l ascenceur est dans ton div ca salope pas ta propre css
et puis je n y ai pas pensé parce qu officiellement c est pas tres valide comme code
(meme si je peux pas m empecher de le foutre sur tous mes sites )
mais en principe un style ne remonte pas ^^ tu le bloques dans ton div point barre
Marsh Posté le 26-05-2006 à 09:15:32
mIRROR a écrit : oui mais si l ascenceur est dans ton div ca salope pas ta propre css |
ça c'est ce que tu dis. moi j'ai fait l'essai et ça sort du div ...
Marsh Posté le 27-05-2006 à 21:06:20
c est sur que si tu preferes laisser tomber c est pas moi qui vais y reflechir a ta place
Marsh Posté le 28-05-2006 à 01:43:23
mIRROR a écrit : |
j'ai jamais dis ça sauf que c'est facile de dire que ça sort pas du div
j'ai essayé plein de trucs différents et certains style s'imposent en maitre, que ça soit en cloisonnant dans des div, table, etc ...
Marsh Posté le 29-05-2006 à 11:19:51
mettre la partie html du mail dans un div ne suffira pas en effet.
Il va falloir que pour toutes les propriété de style défini pour le mail, tu rajoute "#nom_du_div" devant, donc ça va faire quand meme une moulinette avec pas mal de traitement pour garder les 2 styles dans une seul page (puisque pas de frames) sans que les 2 ne viennent se perturber l'un l'autre...
Marsh Posté le 30-05-2006 à 07:11:36
Xav_ a écrit : mettre la partie html du mail dans un div ne suffira pas en effet |
la partie body
Xav_ a écrit : Il va falloir que tu rajoute "#nom_du_div" devant |
c est a ca que je pensais oui
EDIT :
great masta capelo made me do it
Marsh Posté le 30-05-2006 à 09:41:28
mIRROR a écrit : la partie body |
comment tu penses faire pour séparer la partie body uniquement ?
Marsh Posté le 31-05-2006 à 09:58:35
une regex pour isoler ce qui se trouve entre <body> et </body>...
Marsh Posté le 23-05-2006 à 20:14:08
J'ai une page PHP qui utilise des CSS pour son apparence.
Je récupère le code source d'un email (qui est en HTML) et je l'affiche dans cette page.
LE problème : beaucoup d'emails ont leur propres <style> donc quand j'affiche l'email dans ma page, il s'affiche bien comme il faut MAIS il me change tout le style de ma page entière en meme temps
exemple : ma page PHP a un fond rouge. j'affiche un email qui a un fond bleu dans son contenu. resultat => toute ma page se retrouve avec un fond bleu.
une idée pour isoler le code PHP de m'email pour ne pas qu'il empiete sur le style de ma propre page ? (sans faire de frames ou iframes)
Message édité par bab le 24-05-2006 à 09:00:35