2010-12-07 37 views
0

這是我想要了解的代碼片段;在我的網頁設計課上,我瞭解到,單引號「'將字面意思解釋爲字符串。然而,在這個代碼:php 5.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」
,我需要它來打印<href>http://vkhovanskaya.net/images/glow.png</href>因爲它的 部分將是一個什麼KML文件(我需要標記標籤)

我應該怎麼做才能逃避<>解釋嘗試?

+0

這似乎是一個非常糟糕的方式來建立一個XML文檔。考慮使用[SimpleXML](http://php.net/manual/en/book.simplexml.php)或[DOM](http://www.php.net/manual/en/book.dom.php) – Phil 2010-12-07 22:52:34

回答

0

從什麼插值?一個網頁瀏覽器通常會試圖解析它......但PHP並不是內插它,而是瀏覽器。確保你使用正確的mime類型可能會有所幫助,但是一些瀏覽器(比如IE ......)通常會嘗試像HTML一樣模糊地呈現一切。

FWIW,郵編,如:

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

(點擊圖標幫助...音譯字符使事情很難讀?)

如果你真的想確保瀏覽器顯示它,你需要跳出<'s & lt;

0

您是否在瀏覽器中顯示?如果是這樣,查看頁面源代碼,並且您應該看到您的XML節點。

如果您想要標記呈現在HTML文檔中爲可讀,使用htmlspecialcharshtmlentities

echo htmlspecialchars($kmlOutput); 
+0

是的,它確實顯示在源代碼中,並且echo htmlspecialchars($ kmlOutput);效果很好。它甚至可以複製/粘貼到谷歌地球!謝謝! – Vera 2010-12-07 22:59:47