我可以知道在格式化富文本中识别特殊字符串(预定义的字符序列)或代码的正确方法是什么

本文关键字:字符 代码 是什么 方法 预定义 格式化 文本 字符串 识别 我可以 | 更新日期: 2023-09-27 17:56:18

我正在使用 CKEditor 允许用户将文本输入到 C# 编码的 asp 页面中,该页面输出一些圣经文本,现在我想添加一个函数,允许用户键入某种字符串,我将检测该字符串并替换为圣经中的一些文本,例如,如果我进入文本编辑器(例如, 用~~~作为我用来识别特殊代码/字符串的特殊字符序列)

今天是快乐的一天,我学到了:~~~约翰一书4:7~~~。

代码隐藏应该能够检测到"约翰一书 4:7"

字符串前后的 ~~~,并且能够知道这可以查找并使用"约翰一书 4:7"字符串查找数据结构(我想使用哈希或字典或链表)页面上的输出可能是这样的

今天是快乐的一天,我学到了这样一句话:"亲爱的,让我们彼此相爱,因为爱是从上帝来的。

我可以使用普通文本框完成此操作,但是如果我们有一个所见即所得的编辑器,则在后台添加了很多标签,如果我想为字符串添加颜色,这将使字符串更加复杂,因为编辑器可能不会突出显示整个字符串从开头~~~到后面~~~的结尾。 我最终可能会得到这样的字符串(来源CKEDITOR中的文本)

<p> <span class="text 1John-4-7" id="en-KJ21-30580">~<span style="background-color: #ffff00">~~</span><strong><span style="background-color: #ffff00">1 Jo<u>hn </u><em>4:7</em></span></strong><span style="background-color: #ffff00">~~~</span></span></p>

所以不是像这样的简单字符串~~~约翰一书4:7~~~,我们有一个更长的字符串,有很多格式(这是意料之中的,因为我希望能够在编辑器中添加带有格式的文本),并且单词John和"~~~"序列在标签之间拆分。(因为字符串已部分突出显示,在这种情况下,我应该对整个特殊字符串使用出现的第一个颜色,或者为了简单起见,忽略整个字符串之间的所有标签(这意味着查找的文本将仅采用包含~~~特殊字符串/代码~~~的格式)

如果我们能把整个字符串~~~约翰一书4:7~~~作为原子字符串(我的意思是作为一个在编辑器中不会改变的连续字符串),那就太好了,但事实可能并非如此,所以我想问,我应该怎么做,这样我就可以允许用户在编辑器中自由输入文本, 但是,当使用一系列特殊字符(在本例中为 ~~~)将其括起来时,ASP 页能够检测用户

键入的特殊字符串/代码,它可以尝试查找该字符串/代码。

非常感谢大家的阅读和美好的一天。

我可以知道在格式化富文本中识别特殊字符串(预定义的字符序列)或代码的正确方法是什么

我看到两种解决方案。

  1. 如果你想在客户端做到这一点,你必须深入研究CKEditor附加系统。 有很多入门示例。
  2. 使用简单的正则表达式在服务器端执行此操作。