Exemple #1
0
        /// <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("  ", "&nbsp; ");

            if (parsed.EndsWith("  "))
            {
                parsed = parsed.Substring(0, parsed.Length - 1) + "&nbsp;";//如果末尾多出一个空格,则替换为&nbsp;
            }
            parsed = parsed.Replace("\r\n", "\n").Replace("\r", "\n");

            parsed = parsed.Replace("\n", "<br />");
            return(manager.ParseFragment(parsed));
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
 public HtmlNodeFactory(IHtmlFragmentManager fragmentManager)
 {
     _fragmentManager = fragmentManager;
 }
Exemple #4
0
 public HtmlNodeFactory( IHtmlFragmentManager fragmentManager )
 {
   _fragmentManager = fragmentManager;
 }