2009-01-02 18 views
58

ich eine einfache regex bin mit Umbrüche mit Zeilenumbrüche ersetzen:JavaScript-Äquivalent von PHP preg_replace

br_regex = /<br>/; 
input_content = input_content.replace(br_regex, "\n"); 

Diese nur ersetzt die erste Instanz einer Pause-Tag, aber ich brauche alle zu ersetzen. preg_match_all() würde den Trick in PHP machen, aber ich würde gerne das entsprechende JavaScript kennen.

+3

Wie Sie kein RegexMuster entsprechen müssen, sollten Sie str_replace sein mit() in PHP anstelle von preg_match_all() für Ihr Beispiel: $ str = str_replace ('
', "\ n", $ str); – scronide

+0

Sie sollten wirklich ändern Titel preg_replace und nicht preg_match_all, das ist verwirrend und hilft nicht bei der Suche – iBobo

Antwort

105

Verwenden Sie die globale Flag, g:

foo.replace(/<br>/g,"\n") 
17

JS Idiom für Nicht-Regexp global ersetzen:

input_content.split('<br>').join('\n') 
+0

Ich fühle mich schmutzig mit diesem aber es funktioniert und ist der einzige Weg, wenn die Regex-Ausdruck ist Base 64 decodiert. TY :) – JRsz

+0

Hallo @bobince, Asker wollte eine RegEx-basierte Lösung, warum antwortest du das? – Tamim

+0

@Tamim Die Regex-Lösung wurde bereits vergeben; Dies ist eine Alternative, da für einen einfachen String-Ersatz Regex nicht notwendig ist. – bobince