替换令牌并转换成FontAwesome <i>标签

时间:2018-11-15 19:37:28

标签: regex font-awesome quill

我正在寻找一个正则表达式,以在字符串中搜索两个冒号之间的所有内容,并将其转换为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 :(得分:0)

您可以执行以下操作:

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

replace方法使用正则表达式(/::(.*)::/)。在这里,我们将两组冒号进行匹配,并且将两者之间的任何内容都放在括号中,使它们成为匹配组。 replace的第二个参数可以是一个函数。参数是匹配项,然后是您在匹配项中声明的任何组。该函数返回字符串以替换原始的完整匹配项。

请注意,这在许多匹配项中均不起作用,但是您可以通过调整正则表达式(最好)或通过操纵文本来一次管理一个令牌(更慢)来解决此问题。

Hint