我正在开发一个asp.net应用程序。其中我将一些东西存储到database.before存储之前我正在检查是否有任何网站写在其中。如果是,那么匹配文本应该与该文本之前的锚标记一起存储。我正在使用以下代码来检查链接:
Regex regx =新的正则表达式(“http://([\ w +?\。\ w +])+([a-zA-Z0-9 \〜\!\ @ \#\ \ \ \ \ \ \ \ \ \ \ \ \ \ & \ * \(\)_ \ - \ = \ + \\\ / \?\。\:\; \'\,] *)?“,RegexOptions.IgnoreCase);
MatchCollection mactches = regx.Matches(txtWallComment.ToString());
foreach(匹配匹配) { txtWallComment.InnerText = txtWallComment.InnerText.Replace(match.Value,“”+ match.Value +“”); }
当我输入文字“我正在搜索http://www.xyz.com”时,它会替换文字,替换的文字将变为“我正在搜索http://www.xyz.com'>'。 但是在sql数据库中它存储“我正在搜索目标=空白href = http://www.xyz.com&gt; http://www.xyz.com/a&gt;”...这里锚标记没有存储到数据库中&gt;在这里帮助我。< / p>
答案 0 :(得分:0)
我找到了一个更好的主意。我首先在存储到数据库之前使用server.HtmlEncode()编码字符串,并在检索期间使用server.HtmlDecode()解码字符串。
现在它正在按预期工作。