通過從Flash發送以下文本塊,通過PHP創建的XML輸出存在問題。特殊字符問題Flash到XML
() * + , - ./0 1 ! # % ‚ 2 3 4 5 6 7 8 9 : ; <=> ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]^_ a b c d e ...
我覺得有些引起問題的字符。如何解決這個問題? 乾杯
通過從Flash發送以下文本塊,通過PHP創建的XML輸出存在問題。特殊字符問題Flash到XML
() * + , - ./0 1 ! # % ‚ 2 3 4 5 6 7 8 9 : ; <=> ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]^_ a b c d e ...
我覺得有些引起問題的字符。如何解決這個問題? 乾杯
並非所有的獨立字符支持作爲有效的XML,特別是
因此,如果您的任何輸入包含該內容,而您只是試圖將其推入XML,那麼您將得到格式不正確的XML。您需要通過轉換功能運行輸入(htmlspecialchars)。
或者,您可以像The_asMan建議的那樣將您的所有輸入包裹在CDATA部分中。您的文本將不會被解析爲XML。
哇,對於新手來說這很難。這是在PHP中使用它的正確方法嗎? '$ mycaption = $ _REQUEST ['caption']; $ mycaption = htmlentities($ mycaption,ENT_QUOTES);'感謝您的支持。 – Marc
看我的編輯。你應該使用htmlspecialchars。所以你的代碼是'$ mycaption = htmlspecialchars($ mycaption,ENT_QUOTES);' – villecoder
你實際上沒有告訴我們*問題是什麼。不知道你期望什麼樣的輸入。 –
我猜''<' and '>'不會在輸出中轉義並導致XML語法錯誤/格式錯誤的文檔。如果他們沒有被用作XML元字符,他們需要被編碼爲'<'和'>' –
你需要將它包裝在一個cData標籤 –