Я хотел бы добавить другое свойство и значение в мой объект HTML,
но вместо этого он заменяет текущее значение.
Это то, что я до сих пор кодировал в своем PHP-файле.
function htmlEncode ( $html ){
$html = preg_replace('~>\s+<~', '><', $html);
$html = html_entity_decode($html);
$dom = new DOMDocument();
$dom->loadHTML($html);
foreach($dom->getElementsByTagName('*') as $div){
foreach ($div->attributes as $attr) {
if($div->nodeName == "h2"){
$class = $attr->nodeName;
$className = $attr->nodeValue;
$div->setAttribute("aria-label", $div->nodeValue);
$result = [
"tagName" => $div->nodeName,
"value" => $div->nodeValue,
$class=> $className,
$attr->nodeName => $attr->nodeValue
];
} else {
$result[] = [
"tagName" => $div->nodeName,
"value" => $div->nodeValue,
$attr->nodeName => $attr->nodeValue
];
}
}
}
$json = json_encode($result, JSON_UNESCAPED_UNICODE);
return $json;
}
но когда я запускаю код
echo json_encode($attr->nodeName);
Я получаю два атрибута:
"класс" "aria-label"