2011-07-15 29 views
0

我試圖與Exchange 2007進行通信,並且存在已知Bug和執行UpdateItem()的問題,因此我手動通過cURL進行通信,構建自己的XML讓SOAP客戶端做到這一點。它一切正常,但我需要能夠正確地編碼HTML以適應XML的元素。如何正確地編碼HTML中的PHP在PHP中的SOAP

我知道關於html_encode()和htmlspecialchars(),但我不確定這些是否適合使用以及是否將來可能無法正確編碼,並搞砸了SOAP通信。作爲一個便箋,如果它很重要,溝通將是英文和俄文,所以它需要Unicode安全。

+1

這裏不是[CDATA](http://www.w3.org/TR/xml/#sec-cdata-sect)的一個選項嗎? – Yoshi

+0

我不確定,我似乎找不到任何與Exchange 2007 SOAP一起使用的CDATA示例。 –

+0

XHTML或者格式正確的HTML怎麼樣? –

回答

1

Html_encode將使用HTML實體。 HTML實體是爲HTML定義的,但不適用於XML,所以這不起作用。

在XML中轉義標籤是通過將您的內容包裝在CDATA標籤中完成的。特殊字符(üéâä)可用UTF8表示。

+0

nitpicks:'htmlspecialchars'會工作強硬。將內容包裝到CDATA標籤中並不是「逃脫」。 – Gordon

+0

經過大量的搜索和測試,htmlspecialchars似乎工作,但Exchange似乎不喜歡CDATA在我試圖使用它的特定元素。 –