php 5.x и игнорирование тегов <xml>? - PullRequest
0 голосов
/ 08 декабря 2010

Вот фрагмент кода, который я пытаюсь понять; в своем классе веб-дизайна я узнал, что одинарные кавычки 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 (мне нужны теги разметки)

Что мне делать, чтобы избежать <> попыток интерпретации?

Ответы [ 2 ]

0 голосов
/ 08 декабря 2010

Отображаете ли вы это в браузере? Если это так, просмотрите исходный код страницы, и вы должны увидеть свой узел XML так, как вы ожидаете.

Если вы хотите, чтобы разметка отображалась как читаемая в документе HTML, используйте htmlspecialchars или htmlentities

echo htmlspecialchars($kmlOutput);
0 голосов
/ 08 декабря 2010

интерполяция с чего? Веб-браузер часто пытается разобрать его ... но PHP не интерполирует его, а веб-браузер. Может быть полезно убедиться, что вы используете правильный MIME-тип, но некоторые браузеры (например, IE ...) часто пытаются отобразить все неопределенно, как текст, как HTML.

FWIW, почтовый индекс как:

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

(Нажмите значок? Для справки ... транслитерация символов затрудняет чтение.)

Если вы действительно хотите, чтобы браузер отображал его, вам нужно экранировать <как & lt; </p>

...