Регулярное выражение, необходимое для замены токена и преобразования в тег FontAwesome <i> - PullRequest
0 голосов
/ 15 ноября 2018

Я ищу регулярное выражение для поиска строки между двумя двоеточиями и преобразования ее в тег FontAwesome <i>.

Что находится между ::token:: и является точно что вставлено в тег <i> FontAwesome

Необходимо будет заменить все ::tokens:: в строке, так как строка может содержать много токенов.

Примеры

Заменить:

::fa-camera-retro::

на

<i class="fas fa-camera-retro"></i>

и другие подобные:

::fb::

с

<i class="fas fb"></i>

Примечание: Я использую это для вставки FontAwesome в редактор Quilljs.

1 Ответ

0 голосов
/ 15 ноября 2018

Вы можете сделать что-то вроде:

"::fa-camera-retro::".replace(/::(.*)::/, (string,match) => 
    `<i class="fas ${match}"></i>`
)

Метод replace принимает регулярное выражение (/::(.*)::/). Здесь мы сопоставляем два набора двоеточий, и все, что находится между ними, помещается в скобки, что делает их группой совпадений. Второй аргумент replace может быть функцией. Параметры - это совпадение, а затем любые группы, которые вы объявляете в совпадении. Эта функция возвращает строку для замены исходного полного соответствия.

Обратите внимание, что это не сработает для ряда совпадений, но вы можете решить эту проблему, настроив регулярное выражение (предпочтительно) или манипулируя текстом для управления одним токеном за раз (медленнее).

Подсказка

...