2017-07-06 8 views
-1

Ich versuche, alles in einem beliebigen HTML-Tags zu entfernen:Entfernen Sie alles zwischen Tag Regex

Eingang:

<a class="yoyo"> <h1 id="test"> hello </h1> </a> 

seltsam Beispiel, aber auch

Ausgang:

<a><h1>hello</h1></a> 

I habe versucht, /(<\w)(?:.*)(>)/gmi, aber es funktioniert nicht ...

Wenn Sie irgendeinen Hinweis darauf haben. Dank


So erklären es mehr nach dem Kommentar, den ich eine Website verschrottet und ich habe eine .txt-Datei, die ich sauber will. Es wird das gesamte HTML einer Seite enthalten und ich möchte jedes einzelne HTML-Tag säubern und die Leerzeichen entfernen. Also alles zwischen < * und> sollte entfernt werden.

+0

Können Sie das näher erläutern? Sie können eine Million HTML-Tags innerhalb von HTML-Tags haben, was genau möchten Sie tun? –

+0

muss die Regex "Hallo" in "Salut" ändern und Leerzeichen entfernen? Nur Spaß für das Hallo, aber ich bin ernst für die Räume .. – Kaddath

+0

Tun Sie dies nicht mit Regex. –

Antwort

0

Verwenden Sie DOM-Methoden. Schleife über alle Elemente, durchlaufen die Attribute, und entfernen Sie sie

let cont = document.getElementById('demo-container'), 
 
    els = cont.querySelectorAll('*'); 
 

 
[].slice.call(els).forEach(el => { 
 
    [].slice.call(el.attributes).forEach(attr => { 
 
    el.removeAttribute(attr.name); 
 
    }) 
 
}); 
 

 
console.log(cont.innerHTML)
<div id="demo-container"> 
 
    <a class="yoyo"> 
 
    <h1 id="test"> hello </h1> 
 
    </a> 
 
</div>

Verwandte Themen