0

私のウェブサイトに特注のニュースページがあります。問題は、データベースから返された文字列が 400 文字を超える場合に "more" オプションを追加することです。400 文字の後に文字列を分割すると、HTML タグが半分に分割されたり、html タグ内に含まれるテキストが分割されたりして、分割したときに正しい外観が得られないことがあります。

とにかくこれを回避できる可能性はありますか、それとも私はこれをすべて間違っていますか?

私は現在、リテラル コントロールを使用して文字列を表示しています。string.length > 400 の場合は、部分文字列メソッドを使用して表示用の最初の 400 文字を取得します。「詳細」オプションをクリックすると、文字列全体が表示されます。

4

2 に答える 2

1

コンテンツから HTML タグを取り除き、400 文字に切り詰めます。

strContent = Regex.Replace(strContent, "<.*?>", "")

If strContent.Length > 400 Then
   strContent = strContent.Substring(0, 400)
   btnMore.Visibile = True
Else
   btnMore.Visibile = False
End If
于 2012-09-25T09:27:03.927 に答える
0

400 文字に切り詰める前に、要約文字列から HTML コンテンツを取り除きます。

これは、短い要約を表示する最も適切な方法であり、タグを開いたままにしておくことによる問題を防ぐことができます。


剥ぎ取る方法については、次の SO 投稿を参照してください。

ASP.NET で文字列から HTML タグを削除するにはどうすればよいですか?

Regex.Replace(htmlText, "<.*?>", string.Empty);
于 2012-09-25T09:26:38.843 に答える