0

我正在开发一个 asp.net 应用程序。我在其中将某些内容存储到数据库中。在存储之前,我正在检查是否有任何网站写入其中。如果是,则匹配文本应该与该文本之前的锚标记一起存储。我正在使用以下代码检查链接:

正则表达式 regx = new Regex("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 数据库中它商店“我正在搜索目标=blank href= http://www.xyz.com > http://www.xyz.com/a >”...这里的锚标签未存储到数据库中>帮我找人.

4

1 回答 1

0

我找到了一个更好的主意。在存储到数据库之前,我首先使用 server.HtmlEncode() 对字符串进行编码,并在检索期间使用 server.HtmlDecode() 对字符串进行解码。

现在它正在按需要工作。

于 2013-10-04T09:43:57.073 回答