XMLを生成するためにPHPを使用しています。送信されるテキストの一部に引用符を付ける必要があります。私はhtmlentitiesやhtmlspecialchars()を使って引用符を特殊文字に変換することができ、特殊文字はFirefoxやChromeでうまく表示されます。ただし、Internet Explorerでは空白の項目が作成されます。 FirefoxのでXMLで引用符が表示されないInternet Explorer
それは書いている:
<marker description="Yes "I Do"/>
IEでそれが書いている:
<marker description=""\>
ここで適切なコードです:
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
header("Content-type: text/xml");
$node = $dom->createElement("marker");
$newnode->setAttribute("description", htmlentities("Yes \"I Do"))
echo $dom->saveXML();
申し訳ありませんが、私がしようとしているが、すべてをデバッグし、私は間違って投稿したテキスト。私はhtmlspecialchars()を変更メモとして使用していますが、まだ動作しません。私は&をテストとして試してみましたが、Firefoxでは動作しますがIEでは動作しません。元の入力ミスを申し訳ありません。 - user1098504 14時間前
テストでは、とにかく "はい" I Do"を入れ、IEがまだ壊れていないかどうかを確認します。 - SpikeX 14時間前
私は今働いています。私はhtmlspecialchars()を試していて、&を試してみました。私がテストしていたどこかで、IEで毎回キャッシュをクリアしなかったと思います。強制的にリフレッシュしていても、常にリフレッシュしているとは限りませんでした。オリジナルの問題の一部は、元のデータをコピーしてフォームに貼り付けて、アングルの引用符で終わらせたものでした。これらを変換するためのアイデアはありますか?私はそれがリフレッシュエラーだと思うにもかかわらず、私の問題であなたの助けをもう一度ありがとう。これに
$newnode->setAttribute("description", "Yes "I Do");
:
$newnode->setAttribute("description", "Yes "I Do");
はあなたが手で各エンティティを行うにはしたくない場合は、同じことを達成するためにhtmlspecialchars()
を使用することができます
明らかに、ユーザが実行しているWebブラウザは、PHPコードの動作に影響を与えません(あなたは 'User-Agent'を見ていませんか?)。あなたの問題は他の場所にあるか、またはあなたが正しく記述していない、ページのXML「ソース」を見て、あなたに見えるものを教えてください。 – Borealid