从代码中删除一些bbcode

菲利比·布拉加(Filipi Braga)

我面临一个问题。我正在使用HTML的bbcode解析器,当我尝试解析它时,当我的解析器集中没有标签时,我会遇到一些问题。

例如:我的解析器允许只是[b][center][i]标签。如果我尝试解析[u][color={anyColor}]标记,它将返回异常。

我想删除任何其他不允许的标签。

首先,我考虑过不允许在textarea上使用它,但是,当我使用ctrl+ c/v填充textarea时,它将使用这些标记填充,并且当数据已经存在于数据库中时,我会注意到它。

我的想法:

  1. 用户输入带有错误标签的字符串
  2. 我调用任何方法来删除不允许的标签(这是我的问题)
  3. 将数据保存在我的数据库中

有人可以帮我吗?还是建议我别的东西?

大天使33

快速浏览了在您提供的链接上找到的解析器src之后,似乎如果它遇到了一个未知的标记(意味着不在实例化期间提供的标记列表中),则会出错(以某种方式) 。

就目前而言,您似乎可以选择以下几种方式:

  1. 将您更改ErrorModeErrorFree
    • 这将不再产生任何异常,而是将其Unknown tags视为文本。
  2. 遵循您最初的想法,并在前端限制输入。
  3. 如果可以,可以直接将所有可能的标签添加到解析器中,而不是直接使用HTML,请检查是否可以从解析器中获取ac#对象,并消除多余的标签,然后再输出到html。

  4. 或在生成html之后事态下滑,禁止使用生成的HTML标签。

  5. 向代码解析器的作者发送电子邮件/(如果您知道德语),在Codeplex上发送票证/问题,并请他们添加对剥离不必要标签的支持。

  6. 或者,如果您想要的话,因为您拥有src add功能来去除不需要的标签,您自己

    • 我认为这应该不太难,按照他们当前Tags列表所具有的模式BBCodeParser.cs创建一个TagsToIgnore列表,然后在标记解析的其余部分之前添加一个检查,以剥离/继续下一个标记。

编辑:您也许能够使解析器解释标记以不显示任何内容。在此处初始化bbCodeParser。

 var parser = new BBCodeParser(new[]
            {
                // keep these tags 
                new BBTag("b", "<b>", "</b>"), 
                new BBTag("i", "<span style=\"font-style:italic;\">", "</span>"), 
                new BBTag("u", "<span style=\"text-decoration:underline;\">", "</span>"),
                // remove these (or at least there markup) 
                new BBTag("code", "", ""), 
                new BBTag("img", "", ""), 

            });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从网址分页中删除一些代码

来自分类Dev

从SQL中删除一些东西

来自分类Dev

从数组中删除一些元素

来自分类Dev

从数组中删除一些东西

来自分类Dev

试图在Pharo 2.0中测试一些代码,这取决于已删除的BlockContext?

来自分类Dev

我想从php例程中删除一些if循环,使代码更加紧凑和动态

来自分类Dev

从Google表格中的表格中删除一些列

来自分类Dev

从Python中的列表中删除一些重复项

来自分类Dev

从Google表格中的表格中删除一些列

来自分类Dev

从csv文件中删除python中的一些字符

来自分类Dev

为什么Android Studio中的一些斜体代码

来自分类Dev

代码中是否有一些设计模式?

来自分类Dev

python代码中的一些奇怪的东西,map()函数

来自分类Dev

html和css代码中的一些问题

来自分类Dev

Rust代码编译中的一些奇怪问题

来自分类Dev

从网站后面的代码中读取一些内容

来自分类Dev

需要在python代码中解释一些术语

来自分类Dev

Java中的排序合并代码需要一些澄清

来自分类Dev

使用sed在HTML代码中添加/删除一些制表符和换行符

来自分类Dev

从numpy数组中删除一些元素

来自分类Dev

从最新提交中删除一些文件

来自分类Dev

在MATLAB中删除矩阵的一些索引

来自分类Dev

如何在python中删除一些连接的组件?

来自分类Dev

如何删除PHP中的一些数组键

来自分类Dev

如何从Xubuntu的会话列表中删除一些会话

来自分类Dev

jQuery-从AJAX响应中删除一些元素

来自分类Dev

如何从多维数组中删除一些重复的元素

来自分类Dev

从数组中删除重复项,保留一些值

来自分类Dev

从csv文件java中删除一些列