2017-02-20 3 views
-2

Hier ersetzen ist der Mardown Text ..Javascript String

![sample text](/api/article/58933542dbac1da7eba747e0/file/58933542dbac1da7eba747e1/binary/A3DD9420-C5BA-426A-A51A-296C263440FF.png).fgfgfdgdfgdfgfg fg.<video controls poster='tempfile://827e9ff4-07ef-f9c1-a4c2-5d4f8fcb5754'><source src='tempfile://d23228e7-a683-befc-724b-96f57f5459e7' type='video/mp4'></video> 

In der obigen Zeichenfolge benötigen

<video controls poster='tempfile://827e9ff4-07ef-f9c1-a4c2-5d4f8fcb5754'><source src='tempfile://d23228e7-a683-befc-724b-96f57f5459e7' type='video/mp4'></video> 

mit leerem mit Hilfe von JavaScript (Replace) regulären Ausdruck zu ersetzen ..

function RemoveContentText(text, link) { 
    return text.replace(/(!\[.*?\]\()(.+?)(\))/g, function (whole, a, b, c) { 

     if (whole == link) return ''; 
     else return whole; 
    }); 
} 

Hier Text ist der Mardowntext und Link ist die Zeichenfolge, die durch leere ersetzt werden muss ..

+0

Können Sie bitte Ihre Bemühungen teilen? – Rajesh

+0

Für die Regex was ist const regex = //g; '? – getjackx

+0

@getjackx Danke für die Wiederholung, aber die Markdown-Zeichenfolge kann mehrere Video enthalten, also müssen Sie bestimmte Videos identifizieren und durch leere ersetzen. –

Antwort

1

Vielleicht so:

/<\s*video[^>]*>\s*(?:<\s*source[^>]*>\s*)*<\s*\/\s*video\s*>/ig 

Es sollte in ihnen alle möglichen Video-Tags mit nur Quell-Tags entsprechen.

regexr.com ist ein guter Platz zum Testen solcher regulären Ausdrücke.

0

Sie können versuchen, mit IndexOf(), um die Indizes der Video-Tag und dann versuchen, ersetzen. Beispiel für Fund:

var str = "Hello world, welcome to the universe."; var n = str.indexOf("welcome"); Antwort: 13

replacing with index position