ASP 编码
using System;
using NUnit.Framework;
namespace MMTest.BurthenCheck
{
/// <summary>
/// BicSoftCodeDecode 的摘要说明。
/// </summary>
public class BicSoftCodeDecode
{
/// <summary>
/// 如:
/// 我是中国人
/// <@>res=image,src=abc.jpg,width=110px<@>
/// <@>res=flash,src=abc.swf<@>
/// </summary>
private string strOutText=string.Empty;
public BicSoftCodeDecode()
{
}
public BicSoftCodeDecode(string strOutText)
{
this.strOutText =strOutText;
}
[Test]
public void TestCode()
{
string teststr="我是中国人<@>res=image,src=abc.jpg<@>";
new BicSoftCodeDecode(teststr).BicCodeCoding();
}
//编码操作
public string BicCodeCoding()
{
this.strOutText =System.Web.HttpUtility.HtmlEncode(this.strOutText);
string KeyCode="<@>";char[] Ckey=KeyCode.ToCharArray();
string[] Code=this.strOutText.Split(Ckey);
string OutText="";
foreach(string SplitCode in Code)
{
if(SplitCode.Trim() !="" && SplitCode.Length >3)
{
if(SplitCode.Substring(0,3).ToLower()=="res")
{
//开始解码
OutText +=this.BicCodeExplain(SplitCode);
}
else
{
OutText +=SplitCode;
}
}
else
{
OutText +=SplitCode;
}
}
//对回编码
OutText=OutText.Replace("\n","<br>");
OutText=OutText.Replace("\r","");
//对空格编码
OutText=OutText.Replace(" "," ");
return OutText;
}
public string BicCodeCoding(string strOutText)
{
this.strOutText =strOutText;
return this.BicCodeCoding();
}
//解释操作 -->把<@>res=image,src=abc.jpg,width=110px<@> 变成 <img src=>
public string BicCodeExplain(string strKeyCode)
{
string Key=",";char[] Ckey=Key.ToCharArray();
string[] strCode=strKeyCode.Split(Ckey);
string OutText="";
if(strCode.Length>1)
{
switch(strCode[0].Replace("res","").Replace("=","").Trim().ToLower())
{
case "image":
#region image
//整理开头
OutText="<img ";
foreach( string SplitCode in strCode)
{
//整再中间
OutText +=" " + SplitCode;
}
//整再结束
OutText +=" >";
#endregion
break;
case "flash":
#region flash
//整理开头
foreach( string SplitCode in strCode)
{
//整再中间
}
//整再结束
#endregion
break;
case "mp3":
#region mp3
//整理开头
foreach( string SplitCode in strCode)
{
//整再中间
}
//整再结束
#endregion
break;
case "email":
#region email
//整理开头
foreach( string SplitCode in strCode)
{
//整再中间
}
//整再结束
#endregion
break;
case "http":
#region http
//整理开头
foreach( string SplitCode in strCode)
{
//整再中间
}
//整再结束
#endregion
break;
default:
return "";
}
}
return OutText;
}
}
}