Как я могу добавить HTML-код в $ newnode-> setAttribute
Это код моего узла
$newnode->setAttribute("name",$row2['sitename']);
Теперь я хочу что-то вроде этого
$newnode->setAttribute("name",<a href="link.php?id=$row2['id']">$row2['sitename']</a>);
Спасибо за любую помощь или ссылки на сайты, где я могу найти решение
Атрибут ‘name’ используется для элементов управления формы (например, элемента ввода), но похоже, что вы действительно хотите вместо этого создать элемент ссылки. Вот пример того, где $ doc является вашим объектом документа:
$newNode = $doc->createElement("a",$row2['sitename']);
$newNode->setAttribute("href","link.php?id=".$row2['id']);
После добавления к вашему дереву DOM ожидаемый вывод элемента будет выглядеть примерно так:
<a href="link.php?id=123">yoursitename</a>
Спасибо за помощь.
У меня сейчас есть решение и вот оно завершено
xml.php
// ADD TO XML DOCUMENT NODE
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("name",$row2['sitename']);
$newnode->setAttribute("address", $row['formatted_adress']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("lng", $row['longi']);
$newnode->setAttribute("id", $row2['id']);
}
код JavaScript карт Google
downloadUrl("xml.php", function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var type = markers[i].getAttribute("type");
var site_id = markers[i].getAttribute("id");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + name + "</b> <br/>" + address + " <br/> <a href='index.php?id=" + site_id +"'>more...</a><br />";
var icon = customIcons[type] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon
});
bindInfoWindow(marker, map, infoWindow, html);
}
});
}