Как я могу конвертировать символы bbcode в jsx? (обогащающий текст) - 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>);

mcve

1 Ответ

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

Вместо использования базовой c замены вам следует полагаться на существующую библиотеку для достижения этой цели. Если вы создадите самодельное решение, вы получите плохую версию другой библиотеки. Здесь я буду использовать библиотеку в верхней части «реагировать на bbcode» в моей любимой поисковой системе. Хорошо, давайте запустим bbcode-to-react. У них даже есть пример. Скопируйте и вставьте его в свой mcve.

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import parser from 'bbcode-to-react';

class App extends Component {
  render() {
    return (
      <p>{parser.toReact('foo [b]bar[/b]')}</p>
    );
  }
}

export default App;

Выход:

foo bar

Хорошо. Вы можете попробовать это на repl.it: https://repl.it/repls/SeagreenDarkcyanNumerator

...