當前位置:首頁 » 編程語言 » phpxml特殊字元

phpxml特殊字元

發布時間: 2022-07-09 11:06:29

A. php 如何解析xml格式字元串

//假設xml字元串
$postStr = '<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[FromUser]]></FromUserName><CreateTime>123456789</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[p1]]></Content></xml>';
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
var_mp($postObj);

/**
object(SimpleXMLElement)[16] public 'ToUserName' => string 'toUser' (length=6) public 'FromUserName' => string 'FromUser' (length=8) public 'CreateTime' => string '123456789' (length=9) public 'MsgType' => string 'text' (length=4) public 'Content' => string 'p1' (length=2)
*/
//把xml字元串解析為對象

B. PHP 讀取xml格式的字元串

$strXml='<?xml version="1.0" encoding="utf-8" ?><responses code="200" msg="time: 0ms 971us"><response>法國</response><response>德國</response><response>中國</response><response>英國</response><response>泰國</response><response>美國</response><response>韓國</response><response>西蘭公國</response><response>中非共和國</response><response>韓國麗水-韓國</response></responses>';

$pos = strpos($strXml, 'xml');
if (!$pos) {
die("不是xml字元串!");
}
$obj=simplexml_load_string($strXml,'SimpleXMLElement', LIBXML_NOCDATA);
if(is_object($obj)){
$obj=get_object_vars($obj);
}

echo "<pre>";
print_r($obj);

另外記得文件一定要是utf-8編碼,如果不是記得用iconv函數轉一下。

C. php中如何過濾所有的特殊字元

  1. 用正則匹配替換

  2. 用函數str_replace一個一個替換

D. 如何轉義xml中的特殊字元

XML實體中不允許出現"&","<",">"等特殊字元,否則XML語法檢查時將出錯,如果編寫的XML文件必須包含這些字元,則必須分別寫成"&","<",">"再寫入文件中。例如,如果在XML文檔中使用類似"<" 的字元, 那麼解析器將會出現錯誤,因為解析器會認為這是一個新元素的開始。所以不應該像下面那樣書寫代碼:
[html] view plain
<age> age < 30 </age>
為了避免出現這種情況,必須將字元"<" 轉換成實體,像下面這樣:
<age> age < 30 </age>

在讀取的時候,解析器會自動將其轉換回"&","<",">"等特殊字元,正常來說,只有"<" 字元和"&"字元對於XML來說是嚴格禁止使用的。
需要注意的是:
a. 轉義序列各字元間不能有空格;
b. 轉義序列必須以";"結束;
c. 單獨的&不被認為是轉義開始;
d. 區分大小寫。

以下是XML中需要的轉義字元:
&(邏輯與) &
<(小於) <
>(大於) >
"(雙引號) "
'(單引號) '

E. php 如何過濾掉xml中的特殊字元

functionxmlentities($string,$quote_style=ENT_QUOTES)
{
static$trans;

//
//
$string=html_entity_decode($string,ENT_QUOTES);

//xmlencoding
if(!isset($trans))
{
$trans=get_html_translation_table(HTML_ENTITIES,$quote_style);
foreach(array_keys($trans)as$key)
{
$trans[$key]='&#'.ord($key).';';
}
//donttranslatethe'&'incaseitispartof&xxx;
$trans[chr(38)]='&';
}

//aftertheinitialtranslation,_do_mapstandalone'&'into'&#38;'
$str_temp=preg_replace("/&(?![A-Za-z]{0,4}w{2,3};|#[0-9]{2,3};)/u"
,"&#38;"
,strtr($string,$trans)
);
return$str_temp;
}

F. 反序列化失敗,xml中有特殊字元,這種情況怎麼處理

序列化和反序列化並不是C#獨有的,包括java、php、js等都可以做到。序列化是將對象狀態轉換為可保持或傳輸的格式的過程,比如轉化為二進制、xml、json等的過程。與序列化相對的是反序列化,它將流轉換為對象,也就是將在序列化過程中所生成的二進制串、xml、json等轉換成數據結構或者對象的過程這兩個過程結合起來,可以輕松地存儲、傳輸數據。

G. 再發,如何在XML文件中輸入特殊字元

在XML中,有一些符號作為XML 的標記符號,一些特定情況下,屬性值必須帶有這些特殊符號。下面主要是講解一些常用的特殊符號的處理

例一:雙引號的使用。

雙引號作為XML 屬性值的開始結束符號,因此無法在值中直接使用"".處理方式可以分為兩種。

a:屬性值中沒有'(單引號),那麼可以用單引號'' 作為屬性值的開始結束符號

<add key="IPhone" value="apple"/> ...屬性值為("apple").

解決:<add key="IPhone" value=』"apple"『/>

b:屬性值中有'(單引號),也有雙引號。如...屬性值為("'apple").

<add key="IPhone" value="&quot;&apos;apple&quot;"/>

下表為 XML 標記使用的字元列出了五種內置實體。

如果字元可能會使 XML 分析器錯誤地解釋文檔結構,請使用實體,而不要鍵入字元。&apos; 和 &quot; 實體引用最常用在屬性值中。

H. php 獲取 xml節點信息 包含特殊字元怎麼處理

attributes是解析出來的,不是別人傳過來的,直接用attributes()就可以獲取

I. php 特殊字元

輸出前用函數進行文本過濾就好了。

$str=str_replace("]]> ", '', $str);

J. 如何處理XML中的特殊字元

在XML中,有一些符號作為XML 的標記符號,一些特定情況下,屬性值必須帶有這些特殊符號。下面主要是講解一些常用的特殊符號的處理

例一:雙引號的使用。

雙引號作為XML 屬性值的開始結束符號,因此無法在值中直接使用"".處理方式可以分為兩種。

a:屬性值中沒有'(單引號),那麼可以用單引號'' 作為屬性值的開始結束符號

<add key="IPhone" value="apple"/> ...屬性值為("apple").

解決:<add key="IPhone" value=』"apple"『/>

b:屬性值中有'(單引號),也有雙引號。如...屬性值為("'apple").

<add key="IPhone" value="&quot;&apos;apple&quot;"/>

下表為 XML 標記使用的字元列出了五種內置實體。

如果字元可能會使 XML 分析器錯誤地解釋文檔結構,請使用實體,而不要鍵入字元。&apos; 和 &quot; 實體引用最常用在屬性值中。

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:432
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:146
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:235
java駝峰 發布:2025-02-02 09:13:26 瀏覽:651
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:538
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726