JScript5.5下String.prototype.replace(str,func)的UBB嵌套的递归解开。

原创 2002年10月25日 16:25:00

看这个例子:

一般的UBB很难解决UBB元素"[xx]"的嵌套包含的。

使用JScript5.5的新特征,完全解决了这个问题了。

前提是UBB文本写法中,嵌套要正规,不然会影响的是嵌套内部的解析。

 

var thestr="[b]a1[b]a2[b]center[/b]b2[/b]b1[/b]";
function NormalUBB(str)
{
 if(typeof(str)!="string")str=str+"";
 str=str.replace(/(/[b/])(.*)(/[//b/])/gi,"<b>$2</b>");
 return str;
}
function LostinetUBB(str)
{
 if(typeof(str)!="string")str=str+"";
 str=str.replace(
  /(/[b/])(.*)(/[//b/])/gi,
  function(str,pos,raw)
  {
   return LostinetUBB(
   str.replace(/(/[b/])(.*)(/[//b/])/gi,"<b>$2</b>")
   );
  }
 );
 return str;
}
alert(NormalUBB(thestr));
alert(LostinetUBB(thestr));

Func<T, ..., TResult> 委托 实现方法嵌套

Funcprivate static void Main(string[] args) { Func Recursion = null; ...
  • yinyongxian
  • yinyongxian
  • 2016年05月19日 14:57
  • 540

什么是函数嵌套和递归

解释一: 函数的嵌套调用是在函数调用中再调用其它函数,函数的递归调用是在函数调用中再调用该函数自身。 解释二: 函数嵌套是语言特性,递归调用是逻辑思想。 函数嵌套允许在一个函数中调用另外一个函...
  • jlxuqiang
  • jlxuqiang
  • 2013年04月16日 16:37
  • 8877

递归处理多层嵌套列表

建立一个多层列表(即列表中存储列表)并输出列表项 如下图: 可以看出输出的只是输出了外列表 当然也可以多次循环输出每一个子项:如下图所示 注:isinstance(object...
  • a308690341
  • a308690341
  • 2014年04月25日 15:50
  • 70183

UBB码表情替换方法

今天来个UBB表情替换的功能方法。前几天一直比较头疼应该如何把UBB替换成表情图片,想过用webview,也想过用viewgroup一个一个往上加。但是都不理想,用webview的话服务器端需要另做处...
  • zhou699
  • zhou699
  • 2011年06月21日 10:39
  • 1109

举例讲解Go语言中函数的闭包使用

和变量的声明不同,Go语言不能在函数里声明另外一个函数。所以在Go的源文件里,函数声明都是出现在最外层的。 “声明”就是把一种类型的变量和一个名字联系起来。 Go里有函数类型的变量,这样,...
  • txj236
  • txj236
  • 2016年08月05日 18:27
  • 234

python之字典的嵌套,递归调用

一 字典的嵌套在机器学习实战决策树部分,生成决策树时用到了字典的嵌套。>>>s1={'no surface':{}} >>>s1['no surfacce'][0]='no' >>>s1 {'no s...
  • qq_16540387
  • qq_16540387
  • 2017年11月18日 11:41
  • 144

ubb使用说明

什么是 UBB 代码?UBB 代码是HTML的一个变种. 你也许已经对它很熟悉了。UBB代码对于网上公告板之类的信息交互的平台,是比HTML更加安全的代码。由于要求使用的编码很少,所以可以非常轻松的取...
  • sfwap
  • sfwap
  • 2005年07月10日 16:56
  • 734

JAVA嵌套解析Json字符串 - 递归方法

递归嵌套解析,较复杂的json串
  • karen0310
  • karen0310
  • 2017年09月15日 14:09
  • 465

5.SQL Server DML触发器--嵌套和递归触发器

 本文摘自《锋利的SQL》:http://item.jd.com/10380652.html 1.嵌套触发器 无论是DML触发器还是DDL触发器,如果出现了一个触发器执行启动另一个触...
  • zhanghongju
  • zhanghongju
  • 2014年01月16日 21:06
  • 2972

ES6-字符串扩展-模板字符串

传统的 JavaScript 语言,输出模板语句是这样写的。 $('#id').append( 'There are ' + basket.count + ' ' + 'items in y...
  • ww430430
  • ww430430
  • 2017年10月27日 14:08
  • 43
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JScript5.5下String.prototype.replace(str,func)的UBB嵌套的递归解开。
举报原因:
原因补充:

(最多只允许输入30个字)