2010-12-06 21 views
7

मैं PHP के साथ एक ईमेल-आधारित सीएमएस बना रहा हूं, और मुझे ईमेल सेवा के रूप में जीमेल का उपयोग करने की आवश्यकता है। स्क्रिप्ट अब के लिए बेहद सरल है, और मेरी एकमात्र समस्या जीमेल के ईमेल सिंटैक्स से निपट रही है।PHP: जीमेल के संदेशों में अमान्य HTML और यादृच्छिक शब्दकोष

मैं कुछ थोड़ा अधिक प्रबंधनीय, इस तरह उम्मीद कर रहा था, जब एक ईमेल हो रही:

<u>asfasfasf</u> <u style="font-style: italic;">asdfaf</u> <ustyle="font-style: italic; font-weight: bold;">asfsaf</u> asfasf <a href="http://asfasfafs">asfasf</a> 
<br /> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sodales mauris quis nisl pellentesque eleifend. Sed convallis turpis quis turpis malesuada feugiat. Fusce sed metus non orci convallis congue. Integer egestas vulputate ipsum, sed fringilla velit elementum scelerisque. Pellentesque convallis metus sit amet enim faucibus adipiscing. 

लेकिन (बतख और कवर) मैं बजाय इस हो रही है:

<u>asfasfasf </u><u style=3D"font-style: italic; ">asdfaf =A0</u><u style= 
=3D"font-style: italic; font-weight: bold; ">asfsaf </u>asfasf <a href=3D"h= 
ttp://asfasfafs">asfasf</a><div><br></div><div><meta http-equiv=3D"content-= 
type" content=3D"text/html; charset=3Dutf-8"><span class=3D"Apple-style-spa= 
n" style=3D"font-family: Arial, Helvetica, sans; font-size: 11px; "><p styl= 
e=3D"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0= 
px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: = 
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sodales m= 
auris quis nisl pellentesque eleifend. Sed convallis turpis quis turpis mal= 
esuada feugiat. Fusce sed metus non orci convallis congue. Integer egestas = 
vulputate ipsum, sed fringilla velit elementum scelerisque. Pellentesque co= 
nvallis metus sit amet enim faucibus adipiscing.</p> 
</span> 

मैंने टिडी की कोशिश की, लेकिन यह जीमेल के लिंक और 'लाइन ब्रेक' से निपट नहीं सकता है। अंत में ब्रेक केवल = हैं, जो पूरी तरह से टडी को गड़बड़ कर देते हैं, और लिंक कभी-कभी (यादृच्छिक रूप से, मुझे लगता है) इस तरह: <a href=3D"http://asfasfafs">asfasf</a>, =\n के बीच में बीच में!

मैं इस तरह के निंदात्मक HTML से निपटने के लिए टडी को कैसे प्रशिक्षित करूं और आउटपुट कुछ मैं सीधे वेबसाइट के अंदर <div> में पाइप कर सकता हूं?

धन्यवाद!

उत्तर

10

यह quoted-printable एन्कोडिंग जैसा दिखता है। आपको यह देखने के लिए संदेश की हेडर लाइन "कंटेंट-ट्रांसफर-एन्कोडिंग:" जांच करनी चाहिए कि क्या कोई एन्कोडिंग मौजूद है (जैसे बेस -64 या उद्धृत-प्रिंट करने योग्य) और सामग्री को पार्स करने का प्रयास करने से पहले एन्कोडिंग को हटा देना।

+0

धन्यवाद! PHP * करता है * इसके लिए एक फ़ंक्शन है ('quoted_printable_decode()')। मैं अभी इसके साथ खेल रहा हूं, और मुझे वैध HTML मिल रहा है! – Blender