Как я могу заменить символы тегом html? (обогащающий текст) - PullRequest
0 голосов
/ 07 января 2020

Text = "У меня есть этот текст [b], и я хочу, чтобы эта часть была выделена жирным шрифтом [/b]."

Как я могу заменить [b] и [/ b] на strong html tag

, чтобы вывод был => У меня есть этот текст , и я хочу, чтобы эта часть была полужирным .

Я пытался использовать loda sh заменить, как это, но Эслинт жалуется на закрывающий тег:

let startTag = _.replace(text, '[b]', <strong>);
let endTag= _.replace(startTag, '[/b]', </strong>);

Ответы [ 3 ]

1 голос
/ 07 января 2020

Можете ли вы попробовать обернуть <strong> цитатой '<strong>' (то же самое для закрывающего тега).

let text = 'foo [b]bar[/b]';
let startTag = _.replace(text, '[b]', '<strong>');
let endTag = _.replace(startTag, '[/b]', '</strong>');
document.write(endTag);
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>

Эта разметка выглядит как BBCode . Возможно, вы захотите использовать существующий парсер bbcode вместо его создания. (проверьте ваш любимый браузер, чтобы найти решение, такое как Extendible-BBCode-Parser , js -bbcode-parser , node-bbcode или даже в стеке Переполнение Преобразование BBcode в HTML с использованием JavaScript / jQuery).

0 голосов
/ 07 января 2020

Самое простое решение в java -скрипте выглядит так:

var str = 'I have this text [b] and want this part to be bold [/b].';
str = str.replace(/\[b\](.*?)\[\/b\]/ig, '<strong>$1</strong>');
console.log(str);
0 голосов
/ 07 января 2020

Если вы не хотите использовать loada sh, сделайте, как показано ниже.

var text = "I have this text [b] and want this part to be bold [/b]."
var openedTag = text.replace("[b]", "<strong>");
var closedTag = openedTag.replace("[/b]", "</strong>");
document.write(closedTag)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...