1
我有一個從Drupal的文本區域未來的字符串。 drupal中的字符串包含html標籤,但是當我打印字符串時,我沒有看到它們。用htmlspecialchars雙編碼不這樣做的伎倆
此字符串後進入new SimpleXMLElement
,但由於它有一些問題人物,我想在這裏呼籲:
$string = htmlspecialchars($string, ENT_XML1 | ENT_QUOTES,'UTF-8', false);
的問題是,後來,我的字符串看起來遵循
<?xml version="1.0" encoding="UTF-8"?>
<Data xmlns="http://www.digitalmeasures.com/schema/data" xmlns:dmd="http://www.digitalmeasures.com/schema/data-metadata" dmd:date="2016-11-03">
<Record userId="1" username="y" dmd:surveyId="1127463">
<dmd:IndexEntry indexKey="x" entryKey="x & x" text="x & Life x"/>
這是字符串的一小部分
因此,當我打電話給SimpleXMLElement
時,我得到了
String could not be parsed as XML
我試圖避免這種情況設置爲false
的double_encode
價值,但它不工作。 我不能刪除SimpleXMLElementon
一步,它打破了一些Drupal的功能。 我在做什麼錯?
____EDIT_____
作爲檢查我取代了用htmlspecialchars與
$replace = str_replace('&', '&', $string);
這是工作的罰款。
你嘗試驗證XML在W3C驗證? – Fky
是的。沒有這個更換,這是工作的罰款(假設我刪除了與它) 的問題是,添加XML標籤調用的htmlspecialchars – Quantico
後,你有沒有嘗試沒有ENT_QUOTES選擇? – Fky