C#实现HTML和UBB互相转换的方法

前端技术 2023/09/08 C#

本文实例讲述了C#实现HTML和UBB互相转换的方法。分享给大家供大家参考。具体实现方法如下:

html转UBB的还不是很完美,有空修改,一些代码来自百度谷歌,如下所示:

复制代码 代码如下:
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\\\'\\\"]+)[^>]*>\", \"\");
    _Html = Regex.Replace(_Html, \"<a[^>]*href=[\\\'\\\"\\\\s]*([^\\\\s\\\'\\\"]*)[^>]*>(.+?)<\\\\/a>\", \"[url=$1]$2[/url]\");
    _Html = Regex.Replace(_Html, \"<b>(.+?)</b>\",@\"\\[b\\]$1\\[/b\\]\");
    _Html = Regex.Replace(_Html, \"<[^>]*?>\", \"\");
    _Html = Regex.Replace(_Html, \"&\", \"&\");
    _Html = Regex.Replace(_Html, \" \", \" \");
    _Html = Regex.Replace(_Html, \"<\", \"<\");
    _Html = Regex.Replace(_Html, \">\", \">\");

    return _Html;
}
public string ubbtohtml(string content)  //ubb转html
{
    content = Regex.Replace(content, @\"\\r\\n\", \"<br/>\");
    content = Regex.Replace(content, \" \", \" \");
    content = Regex.Replace(content, @\"\\[b\\](.+?)\\[/b\\]\", \"<b>$1</b>\");
    content = Regex.Replace(content, @\"\\[i\\](.+?)\\[/i\\]\", \"<i>$1</i>\");
    content = Regex.Replace(content, @\"\\[u\\](.+?)\\[/u\\]\", \"<u>$1</u>\");
    content = Regex.Replace(content, @\"\\[p\\](.+?)\\[/p\\]\", \"<p class=\'load\'>$1</p>\");
    content = Regex.Replace(content, @\"\\[align=left\\](.+?)\\[/align\\]\", \"<align=\'left\'>$1</align>\");
    content = Regex.Replace(content, @\"\\[align=center\\](.+?)\\[/align\\]\", \"<align=\'center\'>$1</align>\");
    content = Regex.Replace(content, @\"\\[align=right\\](.+?)\\[/align\\]\", \"<align=\'right\'>$1</align>\");
    content = Regex.Replace(content, @\"\\[url=(?<url>.+?)]\\[/url]\", \"<a href=\'${url}\' target=_blank>${url}</a>\");
    content = Regex.Replace(content, @\"\\[url=(?<url>.+?)](?<name>.+?)\\[/url]\", \"<a href=\'${url}\' target=_blank>${name}</a>\");
    content = Regex.Replace(content, @\"\\[quote](?<text>.+?)\\[/quote]\", \"<div class=\"quote\">${text}</div>\");
    content = Regex.Replace(content, @\"\\[img](?<img>.+?)\\[/img]\", \"<img src=\'${img}\' alt=\'\'/>\");
    return content;
}

本文地址:https://www.stayed.cn/item/21851

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。