1

我正在尝试使用本文从 PHP 制作动态 KML 但我已经有了多边形的值,其中一些是多多边形。我决定将这些值放在数据库中,所以我只需要查询它们并将其放在 kml 中,但是当尝试使用它时,它会返回:

<Polygon><extrude>1</extrude>     <tessellate>1</tessellate><outerBoundaryIs><LinearRing>
<coordinates>

代替:

<Polygon>
<extrude>1<extrude>
<tessallete>.... etc

这是我试图放置这些信息的方式:

$multiGeometryNode = $dom->createElement('MultiGeometry', htmlspecialchars($row['kml']));

有任何想法吗?顺便说一句,如果我使用 echo 来显示 htmlspecialchars($row['kml']) 它可以工作,但是当我尝试在 createElement 中使用它时它不会。

4

1 回答 1

1

看来我误读了你在做什么。

尝试

$multiGeometryNode = $dom->createElement('MultiGeometry', $row['kml']);

代替

$multiGeometryNode = $dom->createElement('MultiGeometry', htmlspecialchars($row['kml']));

htmlspecialchars()函数转义所有 html 字符。因此,您的<标志正在变成&lt;,但是它们<在浏览器中的呈现方式。

于 2012-05-09T17:52:12.947 回答