1
私はdrupalテキスト領域から来る文字列を持っています。 drupalの文字列にはhtmlタグが含まれていますが、文字列を表示すると表示されません。htmlspecialchars double encodeはトリックをしません
この文字列は、後で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_____
私はこれが正常に動作している
$replace = str_replace('&', '&', $string);
ではhtmlspecialcharsを置き換えるチェックなど。
W3CバリデーターでXMLを検証しようとしましたか? – Fky
はい。この置換を行わないと正常に動作しています(&を削除した場合) 問題は、htmlspecialcharsを呼び出した後に追加されたxmlタグです。 – Quantico
ENT_QUOTESオプションなしで試しましたか? – Fky