/// <summary> /// 将文本解析为产生同样文本流效果的 HTML 片段 /// </summary> /// <param name="text">要解析的文本</param> /// <param name="manager">HTML 片段管理器</param> /// <returns>HTML 片段</returns> public static IHtmlFragment ParseText(string text, IHtmlFragmentManager manager) { if (text == null) { throw new ArgumentNullException("text"); } if (manager == null) { throw new ArgumentNullException("manager"); } var parsed = HtmlEncoding.HtmlEncode(text); parsed = parsed.Replace(" ", " "); if (parsed.EndsWith(" ")) { parsed = parsed.Substring(0, parsed.Length - 1) + " ";//如果末尾多出一个空格,则替换为 } parsed = parsed.Replace("\r\n", "\n").Replace("\r", "\n"); parsed = parsed.Replace("\n", "<br />"); return(manager.ParseFragment(parsed)); }
/// <summary> /// 创建指定节点的副本 /// </summary> /// <param name="manager">HTML 碎片管理器,用来创建碎片</param> /// <param name="node">要创建副本的节点</param> /// <returns>节点的游离副本( HTML 碎片形式)</returns> public static IHtmlFragment MakeCopy(this IHtmlFragmentManager manager, IHtmlNode node) { if (manager == null) { throw new ArgumentNullException("manager"); } if (node == null) { throw new ArgumentNullException("node"); } var fragment = manager.CreateFragment(); fragment.AddCopy(node); return(fragment); }
public HtmlNodeFactory(IHtmlFragmentManager fragmentManager) { _fragmentManager = fragmentManager; }
public HtmlNodeFactory( IHtmlFragmentManager fragmentManager ) { _fragmentManager = fragmentManager; }