【问题标题】:Decode specific HTML tag from Encoded line从编码行解码特定的 HTML 标记
【发布时间】:2014-01-11 00:28:37
【问题描述】:

我得到了这个编码的 HTML 行:

<b><br /><i><br /><a><br /><br /><br /><br /><br /><br /><br><br /><br /><br /><br /><br /&gt

这是保存在数据库中的。

当我从数据库中读取这个时,我需要解码这个。

但我只想解码这个标签:<br /&gt(该行包含多次这个标签)。

我看了这个解决方案,但没看懂:

C# HtmlDecode Specific tags only

谁能给我一些关于如何解决我的问题的提示?

编辑:我需要使用Server.HtmlDecode 来获得句子之间的断线,所以''替换''-string 函数不起作用。

  1. 我正在将编码值保存到数据库中。
  2. 我正在从数据库中读取编码值。
  3. 我只想解码“&lr;br /&gt”标签,这会导致断线
  4. 其他标签应保持不变,无需解码。

【问题讨论】:

  • 您可以简单地使用String.Replace 替换<br /&gt
  • 为什么只想解码一个标签?你最终会用这个字符串做什么?
  • @Tim 我想解码
    标签,所以我只能看到句子之间的断线。其他标签需要保持原样。

标签: c# html asp.net decode encode


【解决方案1】:

如果你只是想解码那个标签,听起来你真正需要的只是一个标准的字符串替换:

var myString = "<b><br /><i><br /><a><br /><br /><br /><br /><br /><br /><br><br /><br /><br /><br /><br /&gt";
var outputString = myString.Replace("&lr;br /&gt;", "<br />");

【讨论】:

  • 我真的需要使用 Server.HtmlDecode 来获取句子之间的断线,但还是谢谢。
  • 如果您只是针对特定标签,使用HtmlDecode 和直接替换字符串没有区别,所以如果这不能达到您想要的效果,那么您就错过了关键信息你的问题。
  • 例如:如果我这样做:Server.HtmlDecode("&lr;br /&gt") 会导致断线,而replace函数不会。
  • 是的,它会的。这两件事产生相同的结果。 dotnetfiddle.net/O5vj4m - 如果它不起作用,那么你在其他地方做错了。
  • 是的,你是对的 :) 我忘记了一个 ';' :-) 感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多