Мне нужно заменить тег на другой тег с такими же свойствами. Например, измените это:
<TagOne width="500" height="200">asdfasdf</TagOne>
на это:
<AnotherTag width="500" height="200">sometext</AnotherTag>
С помощью этого кода я вижу атрибуты, но не знаю, как заменить тег на другой:
const htmlparser2 = require("htmlparser2");
const DomUtils = require("htmlparser2").DomUtils;
const htmlContent = `<html>
<head></head> <body> <div id="content">
<TagOne width="500" height="200" src="image1.jpg">asdfasdf</TagOne>
<p>asdfasdf</p> </div></body></html>`; const parser = new htmlparser2.Parser(
{
onopentag(name, attribs) {
if (name === "TagOne") {
if(attribs.width ){
var width = attribs.width;
}
if(attribs.height ){
var height = attribs.height;
}
var new_tag = `<AnotherTag width:`+width+`; height:`+height+`;">sometext</div>`;
}
},
ontext(text) {
console.log("-->", text);
},
onclosetag(tagname,new_tag) {
if (tagname === "amp-iframe") {
console.log("That's it?!");
}
},
},
{ decodeEntities: true } );
var content = parser.write(htmlContent);
parser.end();
Я пытался сделать это с помощью функции onclosetag:
//htmlparser2.DomUtils.removeElement(tagname);
//parser.write(new_tag);
, но это дает мне ошибку, это неправильный способ, но я не могу найти ничего похожего в документации. Кто-нибудь может мне помочь? Спасибо.