0

私はasp.netアプリケーションに取り組んでいます。データベースに何かを保存しています.保存する前に、そこに書かれたウェブサイトがあることを確認しています.はいの場合、一致するテキストはそのテキストの直前にアンカータグで保存する必要があります. リンクを確認するために次のコードを使用しています:

正規表現 regx = new Regex("http://([\w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&\* \(\)_\-\=\+\\\/\?\.\:\;\'\,]*)?", RegexOptions.IgnoreCase);

MatchCollection マッチ = 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 > http://www.xyz.com/a >"...ここではアンカー タグがデータベースに保存されていません>ここで誰か助けてください.

4

1 に答える 1

0

私はより良いアイデアを見つけました。最初に、データベースに格納する直前に server.HtmlEncode() を使用して文字列をエンコードし、取得中に server.HtmlDecode() を使用して文字列をデコードしました。

現在、希望どおりに機能しています。

于 2013-10-04T09:43:57.073 に答える