用C#把HTML内容转为UBB的方法

本文介绍了一个用于将HTML内容转换成UBB代码的实用工具。该工具使用正则表达式来处理HTML标签,例如替换换行、清除样式属性、转换超链接等,最终输出适合论坛使用的UBB格式文本。
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->        /// <summary>
        
/// 把HTML内容转为UBB代码
        
/// </summary>
        
/// <param name="_Html"></param>
        
/// <returns></returns>
        private string DoHtmlToUBB(string _Html)
        {           
            
            _Html 
= Regex.Replace(_Html, "<br[^>]*>""\n");
            _Html 
= Regex.Replace(_Html, @"<p[^>\/]*\/>""\n");
            _Html 
= Regex.Replace(_Html, "\\son[\\w]{3,16}\\s?=\\s*([\'\"]).+?\\1""");
            _Html = Regex.Replace(_Html, "<hr[^>]*>""[hr]");

            _Html 
= Regex.Replace(_Html, "<(\\/)?blockquote([^>]*)>""[$1blockquote]");
            _Html 
= Regex.Replace(_Html, "<img[^>]*smile=\"(\\d+)\"[^>]*>""'[s:$1]");
            _Html 
= Regex.Replace(_Html, "<img[^>]*src=[\'\"\\s]*([^\\s\'\"]+)[^>]*>", "%241");
            _Html = Regex.Replace(_Html, "<a[^>]*href=[\'\"\\s]*([^\\s\'\"]*)[^>]*>(.+?)<\\/a>", "[url=$1]$2[/url]");

            _Html 
= Regex.Replace(_Html, "<[^>]*?>""");
            _Html 
= Regex.Replace(_Html, "&amp;""&");
            _Html 
= Regex.Replace(_Html, "&nbsp;"" ");
            _Html 
= Regex.Replace(_Html, "&lt;""<");
            _Html 
= Regex.Replace(_Html, "&gt;"">");

            
return _Html;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值