Javascript для удаления bb_quotes ([quote ..] [/ quote]) из текста - PullRequest
1 голос
/ 31 мая 2019

Цель состоит в том, чтобы использовать Javascript (vanilla) для удаления всего текста (включительно), который находится между: [quote] [/ quote] и [quote = что-то] [/ quote] (без учета регистра) , Было бы также лучше удалить двойные пробелы, если они существуют после удаления кавычек. Я попробовал этот Javascript, как показано ниже, то есть:

t.replace(/\[quote.*\](.*?)\[\/quote\]/gi,'')

, но я не получаю правильных результатов. Какой правильный путь?

var t='Starting [QUOTE]this should be ignored hello[/quote] it. This is not quote and [quote=frank]HELLO quotes[/quote] Marky Mark 84WD. Last [quote=irene]try.[/quote]';

console.log(t.replace(/\[quote.*\](.*?)\[\/quote\]/gi,''));

//Current result: Starting.
//Expected result: Starting it. This is not quote and Marky Mark 84WD. Last

var t='[Quote]this should be ignored hello[/quote]. This is not quote and [quote=frank]HELLO quote[/quote] Marky Mark 84WD.';

console.log(t.replace(/\[quote.*\](.*?)\[\/quote\]/gi,''));

//Current result: Marky Mark 84WD.
//Expected result: . This is not quote and Marky Mark 84WD.

1 Ответ

2 голосов
/ 31 мая 2019

Вы можете использовать /\[(quote)[^\]]*](.*?)\[\/\1\]/gi для достижения фильтрации:

var t='Starting [QUOTE]this should be ignored hello[/quote] it. This is not quote and [quote=frank]HELLO quotes[/quote] Marky Mark 84WD. Last [quote=irene]try.[/quote]';

console.log(t.replace(/\[(quote)[^\]]*](.*?)\[\/\1\]/gi,''));

var t='[Quote]this should be ignored hello[/quote]. This is not quote and [quote=frank]HELLO quote[/quote] Marky Mark 84WD.';

console.log(t.replace(/\[(quote)[^\]]*](.*?)\[\/\1\]/gi,''));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...