it-swarm.com.de

jQuery Javascript regulärer Ausdruck Ersetzen Sie <br> durch \ n

Wie schreibe ich einen regulären Ausdruck, um <br /> Oder <br> Durch \n Zu ersetzen? Ich versuche, Text von div in ein Textfeld zu verschieben, möchte aber nicht, dass <br> Im Textfeld angezeigt wird, also möchte ich ihn durch \n Ersetzen.

60
Pinkie
var str = document.getElementById('mydiv').innerHTML;
document.getElementById('mytextarea').innerHTML = str.replace(/<br\s*[\/]?>/gi, "\n");

oder mit jQuery:

var str = $("#mydiv").html();
var regex = /<br\s*[\/]?>/gi;
$("#mydiv").html(str.replace(regex, "\n"));

Beispiel

edit: i flag hinzugefügt

edit2: du kannst /<br[^>]*>/gi, der mit allem zwischen br und slash übereinstimmt, wenn Sie zum Beispiel <br class="clear" />

163
Teneff

myString.replace(/<br ?\/?>/g, "\n")

9
Adam Bergmark

Echte jQuery-Methode, wenn Sie das DOM direkt ändern möchten, ohne sich mit innerem HTML zu beschäftigen:

$ ('# text'). find ('br'). prepend (document.createTextNode ('\ n')). ​​remove ();

Stellen Sie Einfügungen innerhalb des Elements voran, bevor () die Methode ist, die wir hier benötigen:

$('#text').find('br').before(document.createTextNode('\n')).remove();

Der Code findet alle <br> -Elemente, fügt rohen Text mit einem neuen Zeilenzeichen ein und entfernt dann die <br> -Elemente.

Dies sollte schneller sein, wenn Sie mit langen Texten arbeiten, da hier keine Zeichenfolgenoperationen vorhanden sind.

So zeigen Sie die neuen Zeilen an:

$('#text').css('white-space', 'pre-line');
5
Radek Pech

ein billiger und fieser wäre:

jQuery("#myDiv").html().replace("<br>", "\n").replace("<br />", "\n")

[~ # ~] edit [~ # ~]

jQuery("#myTextArea").val(
    jQuery("#myDiv").html()
        .replace(/\<br\>/g, "\n")
        .replace(/\<br \/\>/g, "\n")
);

Erstellt bei Bedarf auch eine jsfiddle: http://jsfiddle.net/2D3xx/

3
James Khoury

Mit jQuery nichts zu tun, aber wenn Sie ein Muster aus einer Zeichenfolge abschneiden möchten, verwenden Sie einen regulären Ausdruck:

<textarea id="ta0"></textarea>
<button onclick="
  var ta = document.getElementById('ta0');
  var text = 'some<br>text<br />to<br/>replace';
  var re = /<br *\/?>/gi;
  ta.value = text.replace(re, '\n');
">Add stuff to text area</button>
2
RobG