Extrahieren Sie den text aus HTML-string mit JavaScript
Ich versuche, das innere text - /HTML-string, mit Hilfe einer JS-Funktion(die Zeichenfolge als ein argument übergeben wird). Hier ist der code:
function extractContent(value) {
var content_holder = "";
for(var i=0;i<value.length;i++) {
if(value.charAt(i) === '>') {
continue;
while(value.charAt(i) != '<') {
content_holder += value.charAt(i);
}
}
}
console.log(content_holder);
}
extractContent("<p>Hello</p><a href='http://w3c.org'>W3C</a>");
Das problem ist, dass gar nichts geht auf der Konsole ausgegeben(content_holder bleibt leer). Ich denke, das problem wird verursacht, durch den "= = = " - operator..
- Ihre
while
Schleife wird nie erreicht, aufgrund dercontinue
Unterricht. - Versuchen Sie die Ablaufverfolgung durch den code mit einem "debugger"--hast du das gemacht?
- Mögliche Duplikate von JS: Extrahieren von text aus einem string ohne jQuery
- auch ähnlich: stackoverflow.com/questions/10585029/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein element erstellen, speichern, den HTML-Code in es, und seine
textContent
:JS:
Hier eine version, die Ihnen erlaubt, Leerzeichen zwischen Knoten, obwohl Sie würde wahrscheinlich wollen, dass block-level-Elemente nur:
JS:
HelloW3C
- wirklich das, was der OP wollte? NichtHello W3C
?delete span
leistet nichts.Einer Zeile (genauer gesagt, eine Anweisung) version:
Rick Hitchcock
Antwortverwenden Sie diese regax zum entfernen html-tags und speichern nur den text in html -
es zeigt die HelloW3c nur check it
/<[\s\S]*?>/
oder/<[^]*?>/
. Ihrem
fahne leistet nichts; es bezieht sich auf das Verhalten von^
und$
.Versuchen Sie Dies:-
HTML:
Hello, <p>Buggy<i>World</i></p>
.textContext ist eine sehr gute Methode für die Erreichung der gewünschten Ergebnisse, aber manchmal wollen wir nicht zu laden-DOM. So einfach Abhilfe werden folgende reguläre Ausdruck:
Sie konnte vorübergehend, schreiben Sie es auf ein block-level-Elements, das positioniert ist, von der Seite .. einige Sache wie diese:
HTML:
JavaScript:
var div = document.createElement('div')
und gehen von dort aus.<p>Hello<i>Bob</i></p><a>...</a>
. Es bleibt der markup innerhalb desp
element.müssen Sie array für Werte