读书人

高分!高分!要的来拿!解决办法

发布时间: 2012-01-16 23:36:52 作者: rapoo

高分!高分!!要的来拿!
请问在ASP.NET页面中如何调用这个UBB类
各位大师能不能给个完整的示例
using System;
using System.Text;
using System.Text.RegularExpressions;
namespace Test.Com
{
/// <summary>
/// 功能:UBB代码
/// 作者:Rexsp
/// 日期:2004-4-6
/// </summary>
public class UBB
{
#region 构造函数
public UBB()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
#endregion
#region 公共静态方法
/// <summary>
/// UBB代码处理函数
/// </summary>
/// <param name= "sDetail "> 输入字符串 </param>
/// <returns> 输出字符串 </returns>
public static string UBBToHTML(string sDetail)
{
Regex r;
Match m;
#region 处理空格
sDetail = sDetail.Replace( " ", "  ");
#endregion
#region html标记符
sDetail = sDetail.Replace( " < ", "< ");
sDetail = sDetail.Replace( "> ", "> ");
#endregion
#region 处[b][/b]标记
r = new Regex(@ "(\[b\])([ \S\t]*?)(\[\/b\]) ",RegexOptions.IgnoreCase);
for (m = r.Match(sDetail); m.Success; m = m.NextMatch())
{
sDetail = sDetail.Replace(m.Groups[0].ToString(), " <B> " + m.Groups[2].ToString() + " </B> ");
}
#endregion
#region 处[i][/i]标记
r = new Regex(@ "(\[i\])([ \S\t]*?)(\[\/i\]) ",RegexOptions.IgnoreCase);
for (m = r.Match(sDetail); m.Success; m = m.NextMatch())
{
sDetail = sDetail.Replace(m.Groups[0].ToString(), " <I> " + m.Groups[2].ToString() + " </I> ");
}
#endregion
#region 处[u][/u]标记
r = new Regex(@ "(\[U\])([ \S\t]*?)(\[\/U\]) ",RegexOptions.IgnoreCase);
for (m = r.Match(sDetail); m.Success; m = m.NextMatch())
{
sDetail = sDetail.Replace(m.Groups[0].ToString(), " <U> " + m.Groups[2].ToString() + " </U> ");
}
#endregion
#region 处[p][/p]标记
//处[p][/p]标记
r = new Regex(@ "((\r\n)*\[p\])(.*?)((\r\n)*\[\/p\]) ",RegexOptions.IgnoreCase|RegexOptions.Singleline);


for (m = r.Match(sDetail); m.Success; m = m.NextMatch())
{
sDetail = sDetail.Replace(m.Groups[0].ToString(), " <P class=\ "pstyle\ "> " + m.Groups[3].ToString() + " </P> ");
}
#endregion
#region 处[sup][/sup]标记
//处[sup][/sup]标记
r = new Regex(@ "(\[sup\])([ \S\t]*?)(\[\/sup\]) ",RegexOptions.IgnoreCase);
for (m = r.Match(sDetail); m.Success; m = m.NextMatch())
{
sDetail = sDetail.Replace(m.Groups[0].ToString(), " <SUP> " + m.Groups[2].ToString() + " </SUP> ");
}
#endregion
#region 处[sub][/sub]标记
//处[sub][/sub]标记
r = new Regex(@ "(\[sub\])([ \S\t]*?)(\[\/sub\]) ",RegexOptions.IgnoreCase);
for (m = r.Match(sDetail); m.Success; m = m.NextMatch())
{
sDetail = sDetail.Replace(m.Groups[0].ToString(), " <SUB> " + m.Groups[2].ToString() + " </SUB> ");
}
#endregion
#region 处[url][/url]标记
//处[url][/url]标记
r = new Regex(@ "(\[url\])([ \S\t]*?)(\[\/url\]) ",RegexOptions.IgnoreCase);
for (m = r.Match(sDetail); m.Success; m = m.NextMatch())
{
sDetail = sDetail.Replace(m.Groups[0].ToString(),
" <A href=\ " " + m.Groups[2].ToString() + "\ " target=\ "_blank\ "> <IMG border=0 src=\ "images/url.gif\ "> " +
m.Groups[2].ToString() + " </A> ");
}
#endregion
#region 处[url=xxx][/url]标记


[解决办法]
把这个代码写到一个.cs文件里,添加到工程,然后在需要用这个类的页面引用
using Test.Com;

然后,比如数据库读出来的数据是str;
那么
string temp = UBB.UBBToHTML(str);

把temp输出就好了
[解决办法]
哦!
[解决办法]
代码真多。。。
[解决办法]
顶起来先
[解决办法]
linsoo() ( 一级(初级)) 是正解

[解决办法]
太多,没看完
[解决办法]
using Test.Com;
你要使用的地方;声明
string aa = UBB.UBBToHTML();
------解决方案--------------------



代码真多。。。
[解决办法]
学习中
[解决办法]
如果是vs2005,就选中app_code目录,如果不是任何目录都可.然后添加-> 现在文件,选中这个文件,就可.调用.stirng sHTML = Test.Com.UBB.UBBToHTML(输入的htmlstring);得到返回的sHTML
[解决办法]
linsoo() ( 一级(初级)) 说的很正确呀
[解决办法]
难道楼主真的一点代码也写不出来,完全需要别人代劳?
[解决办法]
哇,真长啊..帮顶
[解决办法]
linsoo() 正解```

就是一个using 就解决问题了``就可以调用了``
[解决办法]
一方法:
把这个类namespace Test.Com命名空间改为你程序的命名空间 如是vs2005,就添加到app_code文件夹中,然后就可以像你自己写的类一样进行实例化调用其中的方法.
二方法:
把这个类生成一个.DDL文件,在你的程序中添加引用.再在程序中加上using Test.Com;就可以进行实例调用了.
[解决办法]
UP!
[解决办法]
UBB的代码不是已经有了....只需要你调用而已
[解决办法]
接分吧。楼主是不是要把这80分全部都给我啊?
因为我已经回答出了你的问题了啊!
你的问题的答案是虽然我不能够回答你的问题,但是我可以帮你来顶一下你的帖子,你可别小看这一篇帖子啊!呵呵

读书人网 >asp.net

热点推荐