2010-12-07 10 views
0

ここに私が理解しようとしているコードのスニペットがあります。私のWebデザインクラスでは、PHPシングルクォートは文字通りすべてを文字列として解釈することを学びました。しかし、このコードで:php5.xと<xml>タグを無視しますか?

$kml = array(); 
$kml[] = '<kml xmlns="http://earth.google.com/kml/2.1">'; 
$kml[] = ' <Document>'; 
$kml[] = ' <Style id="hitStyle">'; 
$kml[] = ' <IconStyle id="hitIcon">'; 
$kml[] = ' <Icon>'; 
$kml[] = ' <href>http://vkhovanskaya.net/images/glow.png</href>'; 
$kml[] = ' </Icon>'; 

$kmlOutput = $kml[5]; 
print($kmlOutput); 

版画:「http://vkhovanskaya.net/images/glow.png」
、それは の一部だから、私はKMLファイルがどうなるか、それは<href>http://vkhovanskaya.net/images/glow.png</href>を印刷する必要があります(私はマークアップタグが必要です)

<を解釈の試みから逃れるために何をすべきですか?

+0

を使用これは、XMLドキュメントを構築するための、本当に悪い方法です。 [SimpleXML](http://php.net/manual/en/book.simplexml.php)または[DOM](http://www.php.net/manual/en/book.dom.php) – Phil

答えて

0

何から補間? Webブラウザはしばしばそれを解析しようとします...しかしPHPはそれを補間していません、Webブラウザはあります。適切なMIMEタイプを使用しているかどうかを確認することができますが、IEなどの一部のブラウザでは、テキストをHTMLのようにぼんやりと表示しようとします。

FWIW、のようなポストコード:

$kml[] = '<href>http://vkhovanskaya.net/images/glow.png'; 

(?ヘルプのアイコンをクリックしてください...翻字の文字が読み物事が困難になります。)

あなたは本当に、ブラウザがそれを表示するようにしたい場合<を& ltからエスケープする必要があります。

0

これをブラウザに表示していますか?そうであれば、ページソースを表示し、XMLノードを期待どおりに表示する必要があります。

あなたはマークアップは、HTML文書のように読めるレンダリングしたい場合は、htmlspecialcharsまたはhtmlentities

echo htmlspecialchars($kmlOutput); 
+0

を使用することを検討してくださいはい、それはソースコードに表示され、echo htmlspecialchars($ kmlOutput);よく働く。それはすべてGoogle Earthにコピー/貼り付けに行く!ありがとう! – Vera

関連する問題