0

MVC3 でエンティティ フレームワークを使用していて、説明フィールドを検索しようとしていますが、問題は、説明フィールドに "< div class="section" />" などの HTML が含まれていることです。HTML タグの外側のものだけを検索するファンキーな検索を行うことはできますか?

return context.Categories
    .Where(i => 
        i.Name.Contains(searchText)
        && i.Description.Contains(searchText)
    )

前もって感謝します!

4

1 に答える 1

0

HtmlAgilityPack を試してみてください。HTML ドキュメントからテキストを抽出するメソッドがあります。

基本的には、次のことを行うだけです。

  var doc = new HtmlDocument();
  doc.LoadHtml(htmlStr);
  var node = doc.DocumentNode;
  var textContent = node.InnerText;

または、それほど素晴らしい方法ではありません:

public static string StripHTML(string htmlString)
{
   string pattern = @"<(.|\n)*?>";
   return Regex.Replace(htmlString, pattern, string.Empty);
}

いっしょに

return StripHTML(context.Categories.Where(i => i.Name.Contains(searchText)&& i.Description.Contains(searchText)))
于 2013-06-21T02:00:23.500 に答える