PHPでHTMLエンティティーされたXMLの要素を読む

11 12月

PHP でXMLの中のHTMLエンティティされた要素を読み込んだ場合に、エンティティーが元にもどる現象が生じました。

$xml を XML オブジェクトとして、TAnsタグにHTMLエンティティー化されたテキストがある場合、下記のコードではエンティティーが解除されてしまいます。

$str = (string)$xml->TAns;

その場合、下記のようにすればエンティティー化されたままのテキストが得られます。ただし、タグで挟まれたテキストとなります。

$str = $xml->TAns->asXML();

JQuery で読み込む場合にも、エンティティー化が解除される場合がありました。

var tmp = $("TAns",this).text();

上記では、エンティティーが解除されてしまいます。これは無理やりもう一度エンティティーをかけることで対応しました。