php 5.x并忽略<xml>标签?</xml>

时间:2010-12-07 22:28:34

标签: php escaping html-entities

这是我想要了解的代码片段;在我的网页设计课上,我学会了php单引号''字面解释所有内容,作为字符串。但是,在此代码中:

$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文件(我需要标记标签)

我应该做些什么来逃避&lt; &GT;从解释尝试?

2 个答案:

答案 0 :(得分:0)

插入什么? Web浏览器通常会尝试解析它...但是PHP不会插入它,Web浏览器就是。确保使用正确的mime类型可能有所帮助,但是某些浏览器(如IE ...)通常会尝试将所有内容模糊地呈现为HTML格式。

FWIW,邮政编码如:

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

(单击?图标获取帮助...音译字符使得难以阅读。)

如果你真的想确保浏览器显示它,你需要转义&lt;'s&amp; lt;

答案 1 :(得分:0)

您是否在浏览器中显示此内容?如果是这样,请查看页面源代码,您应该按预期看到XML节点。

如果您希望标记在HTML文档中呈现为可读,请使用htmlspecialcharshtmlentities

echo htmlspecialchars($kmlOutput);