这是我的场景:我有一个输入文本区域,用户在其中介绍一些文本。文本是纯文本,但用户可以使用一些已定义的宏,例如 {{username}}。
这是一个例子
<textarea>The user {{Username}} loggedin at {{now}}</textarea>
我不希望用户必须知道语法,所以我会有一些按钮,当点击这些按钮时,会自动在 textarea 中插入宏。我想对这个宏应用一些基本样式。例如,上面的内容应该转换为
The user <span class="cm-mystyle">Username</span> logged in at <span class="cm-mystyle">Now</span>
使用编辑器时,用户应该将“跨度”作为一个块来处理,这意味着用户不能更改跨度的内容(只是删除)。
我不知道 CodeMirror 是否是处理这种情况的正确工具。
阅读文档后,我的第一个方法是定义一个模式来处理我的令牌 {{Username}}。但似乎我只能返回要应用于令牌的样式。所以我可以拥有这个
The user <span class="cm-mystyle">{{Username}}</span> logged in...
但我想删除 {{}} 字符。然后我阅读了有关小部件的信息,在我看来,这些小部件可用于处理我的场景。
老实说,我有点困惑如何解决我的问题。有什么帮助吗?