|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
c++是语言,其实C++和java的应用范围根本就不一样的。在java应用的领域内,c++是不合适的。所以微软才搞了C#和Java对抗。在网站留言,回贴等富文本框中,为了平安起见,我们一样平常都不会同意用户间接录进Html标签,但为了丰厚留言内容。我们会供应一些特别的标志来取代Html标签。好比供应[p]取代<p></p>,供应[a][/a]取代<a></a>等。这时候候,就必要我们在吸收到用户留言后,将这些特别的标志交换成对应的Html标签。上面是本站的一个主动交换Html标签的类,供人人参考:namespaceAutoPage
{
publicclassOtherCs
{
publicstaticstringReplaceHtml(stringoldStr)
{
/*按次不成变,出格是将<与>交换成"<"与">"的必定要在别的交换前,由于假如把它放在别的替后,它就会把别的交换后的<与>也交换成"<"和">"了。*/
newStr=newStr.Replace("<","lt;");
newStr=newStr.Replace(">","gt;");
newStr=newStr.Replace("","nbsp;");
newStr=newStr.Replace("- ","<divclass="code">");
- newStr=newStr.Replace("
复制代码 ","</div>");
newStr=newStr.Replace("[strong]","<strong>");
newStr=newStr.Replace("[/strong]","</strong>");
newStr=newStr.Replace("[p]","<p>");
newStr=newStr.Replace("","</p>");
newStr=newStr.Replace("
","<br/>");
//交换标签,即<a>标签,这里就要用到正则了。
//先婚配出必要交换成a标签的全体部分。用户录进的原始值相似于:[URLhref="http://www.lmwlove.com"]程序食堂
stringregstr_1="[URLs*href=(["s]?)[^"s]+1][^[]]+[/URL]";
//婚配[URLhref="http://www.lmwlove.com"]程序食堂[/URL]中的http://www.lmwlove.com,即url地点
stringregstr_2=@"http://([w-]+.)+[w-]+(/[w-./?%=]*)?";
//婚配[URLhref="http://www.lmwlove.com"]程序食堂[/URL]中的程序食堂,即url中的文本
stringregstr_3=@"]+[^[]]+([+)";
stringurl=string.Empty;
stringurlname=string.Empty;
Regexregex=newRegex(regstr_1);
MatchCollectionmatchs=regex.Matches(newStr);
foreach(Matchminmatchs)
{
Regexregex_1=newRegex(regstr_2);
Matchmatch=regex_1.Match(m.Value);
if(match.Success)
{
url=match.Value;
}
regex_1=newRegex(regstr_3);
match=regex_1.Match(m.Value);
if(match.Success)
{
urlname=match.Value.Substring(1,match.Value.Length-2);
}
//选择出了链接的url与文本后,从头构造准确的<a>标签
newStr=newStr.Replace(m.Value,"<ahref=""+url+""target="_blank"class="content_href">"+urlname+"</a>");
}
returnnewStr;
}
}
}
由于这个办法顶用到了C#中的正轨,以是要援用定名空间System.Text.RegularExpressions
你所列的那些其实差不多都可以称为应用服务器(servlet应该说是一种语言更合适)java是开放的,相同的工具就会有很多公司在做,加上java已经发展了很多年了,因此这些工具就很多了。他们很多都是类似的。 |
|