Entfernen Sie HTML-Tags aus einer Javascript-Zeichenfolge

Lesezeit: 3 Minuten

Benutzer-Avatar
krrr25

Ich habe diesen Code:

var content = "<p>Dear sms,</p><p>This is a test notification for push message from center II.</p>";

und ich möchte alle entfernen <p> und </p> Tags aus der obigen Zeichenfolge. Ich möchte nur die Zeichenfolgenwerte ohne HTML-Tags anzeigen wie:

"Dear sms, This is a test notification for push message from center II."

  • Ich glaube nicht, dass es doppelt ist. weil es auch unter Javascript getaggt ist.

    – SaidbakR

    17. Dezember 2012 um 9:49 Uhr

  • Ich halte diese HTML-Zeichenfolge in einer Javascript-Variable. Ich möchte diese Tags aus dieser Variablen entfernen

    – krrr25

    17. Dezember 2012 um 9:52 Uhr

  • Duplikat davon: stackoverflow.com/questions/822452/…

    – Zerbrus

    17. Dezember 2012 um 9:53 Uhr

Warum nicht einfach jQuery machen lassen?

var content = "<p>Dear sms,</p><p>This is a test notification for push message from center II.</p>";

var text = $(content).text();

  • Denken Sie daran, dass wenn content hat so etwas wie <div> Es wird zu einem Tag, nachdem dieser Code ausgeführt wurde

    – cdmckay

    14. Oktober 2014 um 16:06 Uhr

  • Dies entfernt nicht a <br/>

    – Fabian S.

    9. Dezember 2015 um 9:48 Uhr


  • @PHPMaster5000: Ja, das tut es. Wie sieht Ihr HTML aus?

    – Mixer

    10. Dezember 2015 um 3:15 Uhr

Hier ist meine Lösung,

function removeTags(){
    var txt = document.getElementById('myString').value;
    var rex = /(<([^>]+)>)/ig;
    alert(txt.replace(rex , ""));

}

  • Danke Mann, das ist die beste Antwort, weil es reines Javascript ist und Ihre Regexp alle HTML-Tags verarbeitet

    – Jacktrading

    6. Mai 2014 um 15:33 Uhr

  • Eine Verbesserung dieser Regex wäre: (<([^>]+)>)|(<([^>]+)>) Dadurch werden Standard-HTML-Tags sowie alle Escape-Tags entfernt.

    – dukedevil294

    16. Februar 2016 um 15:10 Uhr


  • Bitte verarbeiten Sie HTML nicht mit regulären Ausdrücken. Es ist ein Fehler und Sie werden wahrscheinlich schwer dafür verbrannt werden. HTML ist keine reguläre Sprache und ein regulärer Ausdruck, auch wenn er tausend Zeichen lang ist, reicht dafür nicht aus. Sie benötigen einen echten Parser oder nutzen Funktionen des Browsers/DOM. Ich als Angreifer könnte HTML leicht an diesen beiden Beispielen vorbeibringen.

    – AndreasF

    7. Juli 2017 um 11:09 Uhr


  • Regex auch zum Entfernen von &nbsp ?

    – Yash Sharma

    16. August 2017 um 14:32 Uhr

Verwendung von einfachem Javascript:

content = content.replace(/(<p>|<\/p>)/g, "");

  • Was ist mit Leerzeichen und/oder Attributen? Zum Beispiel <p class="bla"></p >

    – Oskar Broman

    17. Dezember 2012 um 9:51 Uhr

  • Beantwortet die OP-genaue Frage, aber wenn die Tags Attribute haben, müsste die Regex sein /(<p[^>]*>|<\/p>)/g

    – HBP

    17. Dezember 2012 um 9:52 Uhr

  • Hier scheint die Variable generiert zu sein, und ich denke, es ist leicht zu wissen, welche Elemente wir entfernen müssen … Auch wenn es etwas komplizierter ist, denke ich, dass diese Methode funktionieren wird: Sie ist eine Grundlage für die Frage gefragt und kann danach leicht angepasst werden.

    – Samuel Caillerie

    17. Dezember 2012 um 9:55 Uhr

Benutzer-Avatar
Adil

Sie können jQuery verwenden Text() Klartext zu bekommen without HTML-Tags.

Live-Demo

withoutP = $(content).text()

Benutzer-Avatar
Alexandru Aliu

var content = "a<br />";
var withoutP = $(content).text()
alert(withoutP )

Dieser funktioniert nicht für die .text()-Lösung.

Dieser prüft auf Sonderzeichen

var $string = '&lt;a href=&quot;link&quot;&gt;aaa&lt;/a&gt;';
var $string2 = '<a href="https://stackoverflow.com/questions/13911681/link">aaa</a>';
var $string3 = 'BBBBB';
var $string4 = 'partial<script';
var $string5 = 'has    spaces';

function StripTags(string) {

  var decoded_string = $("<div/>").html(string).text();
  return $("<div/>").html(decoded_string).text();

}

console.log(StripTags($string));
console.log(StripTags($string2));
console.log(StripTags($string3));
console.log(StripTags($string4));
console.log(StripTags($string5));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

Benutzer-Avatar
Talha Noyon

myString.replace(/<[^>]*>?/gm, '');

1180000cookie-checkEntfernen Sie HTML-Tags aus einer Javascript-Zeichenfolge

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy