對此進行跟進post我早些時候做的。使用php將特殊字符轉換爲ISO Latin-1代碼?
我發現XML在處理特殊字符時實際上是用數字代碼而不是名稱代碼。所以我通過網上看了如何將特殊字符轉換爲數字代碼,但我沒有任何運氣。
我必須寫一個函數來執行此任務或PHP是否附帶任何默認的功能,可節省佔用大量的作品?
舉例來說,我想á
轉換爲á
但不á
到á
這可能嗎?
如果您有任何想法請幫助。
編輯:
我使用這個建議的特殊字符轉換成數字小字符,
$txt = preg_replace('/([\x80-\xff])/e', "'&#' . ord('$1') . ';'", $txt);
但我發現,它並沒有這5個特殊字符轉換成數字小碼 - <
,>
,&
,'
和"
。
我該如何解決它們?
謝謝。
您鏈接到的頁面有不正確的信息。它開始「輸入一個字符串與HTML實體像&並獲得正確的XML實體 - 在這種情況下, 」。這是誤導。 `&`是所有XML文檔中的有效實體,以及`<`,`>`,`"`和`'`。 – Artefacto 2011-01-25 00:04:26
順便說一句,如果你想解碼用於XML文檔的html實體,你可以使用`html_entity_decode`。 – Artefacto 2011-01-25 00:05:48
@artefacto - 觸動我們的快樂。這是一個起點。您可以始終鏈接html_entities以獲取html以進一步轉換爲xml。 html實體是xml需要的很好的列表。 – RichardTheKiwi 2011-01-25 00:07:40