PHP:DOMを使用してXMLにデータセットする際のHTML特殊文字の扱い
PHP
2005年04月15日
XMLは、タグ表記するという点でHTMLと同じですが、
という事は、XMLにも「<」や「>」や「&」等の特殊文字の扱いに注意が必要になります。
例えば、下記のようなXMLにしたければ、
実際は、下記のようにXML定義しなければいけません。
で、こういう風にXMLデータを突っ込むには、
>htmlentities関数
>htmlspecialchars関数
この辺の関数を駆使すればいいかとなりますが、
PHP5.0.3以降では、かなり便利なっていて、この辺の関数は使う必要ありません。
という事は、XMLにも「<」や「>」や「&」等の特殊文字の扱いに注意が必要になります。
例えば、下記のようなXMLにしたければ、
<?xml version="1.0" encoding="Shift_JIS" ?>
<test>
<data>BLOGSITE=<WEB Artisan></data>
</test>
実際は、下記のようにXML定義しなければいけません。
<?xml version="1.0" encoding="Shift_JIS" ?>
<test>
<data>BLOGSITE=<WEB Artisan></data>
</test>
で、こういう風にXMLデータを突っ込むには、
>htmlentities関数
>htmlspecialchars関数
この辺の関数を駆使すればいいかとなりますが、
PHP5.0.3以降では、かなり便利なっていて、この辺の関数は使う必要ありません。
>DOMDocument->createTextNode
上記マニュアルにあるように、
DOMDocument->createTextNode関数を発行すれば、
html特殊文字変換を自動で行ってくれるようになります。
つまり、何も気にしなくても、勝手に変換してくれるんです。
これは便利。。
ちなみにクドイですが、PHP5.0.3以降の話です。
上記マニュアルにあるように、
DOMDocument->createTextNode関数を発行すれば、
html特殊文字変換を自動で行ってくれるようになります。
つまり、何も気にしなくても、勝手に変換してくれるんです。
これは便利。。
ちなみにクドイですが、PHP5.0.3以降の話です。
前の記事 次の記事