正则表达式需要替换标记并转换为FontAwesome标记

问题描述 投票:0回答:1

我正在寻找一个正则表达式来搜索字符串中两个冒号之间的任何内容,并将其转换为FontAwesome <i>标记。

::token::之间是什么是插入<i> FontAwesome标签的正确内容

它需要替换字符串中的所有::tokens::,因为字符串可能包含许多标记。

例子

更换:

::fa-camera-retro::

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

和其他人喜欢:

::fb::

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

注意:我使用它作为将FontAwesome插入Quilljs编辑器的方法。

regex font-awesome quill
1个回答
0
投票

你可以这样做:

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

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

请注意,这不适用于许多匹配,但您可以通过调整正则表达式(首选)或通过操纵文本来一次管理一个标记(较慢)来解决这个问题。

Hint

© www.soinside.com 2019 - 2024. All rights reserved.