Gewusst wie: entfernen <div> und <br> mit Cheerio js?
Habe ich den folgenden html-Code, die ich gerne durchsuchen, Cheerios.
var $ = cheerio.load('<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>This works well.</div><div><br clear="none"/></div><div>So I have been doing this for several hours. How come the space does not split? Thinking that this could be an issue.</div><div>Testing next paragraph.</div><div><br clear="none"/></div><div>Im testing with another post. This post should work.</div><div><br clear="none"/></div><h1>This is for test server.</h1></body></html>', {
normalizeWhitespace: true,
});
//trying to parse the html
//the goals are to
//1. remove all the 'div'
//2. clean up <br clear="none"/> into <br>
//3. Have all the new 'empty' element added with 'p'
var testData = $('div').map(function(i, elem) {
var test = $(elem)
if ($(elem).has('br')) {
console.log('spaceme');
var test2 = $(elem).removeAttr('br');
} else {
var test2 = $(elem).removeAttr('div').add('p');
}
console.log(i +' '+ test2.html());
return test2.html()
})
res.send(test2.html())
Mein Ende Ziele sind, um zu versuchen und zu analysieren, die html -
- entfernen Sie alle div -
- bereinigen
<br clear="none"/>
" und wechseln Sie in<br>
- und endlich all die leeren "element" (also die Sätze mit 'div') entfernen Hinzugefügt werden, die mit 'p' Satz '/p'
Ich versuche zu starten, mit einem kleineren Ziel in dem obigen code, den ich geschrieben habe. Ich habe versucht, entfernen Sie alle 'div' (es ist ein Erfolg), aber ich bin nicht in der Lage, um zu finden, die 'br. Ich wurde versucht, für Tage und habe keinen Kopf Weg.
So, ich Schreibe hier, um zu suchen einige Hilfe und Tipps, wie kann ich zu meinem end-Ziel.
Danke 😀
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist einfacher als es aussieht, wird zuerst Durchlaufen alle DIV ' s
und für die einzelnen div-Sie überprüfen, ob es einen
<br>
tagfalls doch, entfernen Sie das Attribut
wenn nicht, erstellen Sie ein P mit dem gleichen Inhalt
dann ersetzen Sie einfach den DIV mit der P
- und output -
Alle zusammen, es ist
Sie nicht wollen, um ein Attribut zu entfernen, die Sie entfernen möchten tag und so Sie wechseln möchten
removeAttr
zuremove
etwa so: