JScript5.5下String.prototype.replace(str,func)的UBB巢狀的遞迴解開。 (轉)
JScript5.5下String.prototype.replace(str,func)的UBB巢狀的遞迴解開。 (轉)[@more@]
看這個例子:
一般的UBB很難解決UBB元素"[xx]"的巢狀包含的。
使用5.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,"$2");
return str;
}
function LostUBB(str)
{
if(typeof(str)!="string")str=str+"";
str=str.replace(
/([b])(.*)([/b])/gi,
function(str,pos,raw)
{
return LostinetUBB(
str.replace(/([b])(.*)([/b])/gi,"$2")
);
}
);
return str;
}
alert(NormalUBB(thestr));
alert(LostinetUBB(thestr));
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-990686/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 巢狀類遞迴巢狀遞迴
- [work] python巢狀字典的遞迴遍歷Python巢狀遞迴
- 遞迴元件組合拳,無懼頁面巢狀遞迴元件巢狀
- Blazor巢狀傳遞Blazor巢狀
- Python的if else 巢狀 和forin while 迴圈Python巢狀While
- Oracle 巢狀表(轉)Oracle巢狀
- python怎麼迴圈巢狀Python巢狀
- 高效遍歷匹配Json資料,避免巢狀迴圈[轉]JSON巢狀
- MySQL Join原理分析(緩衝塊巢狀與索引巢狀迴圈)MySql巢狀索引
- 瞭解 JavaScript 的遞迴JavaScript遞迴
- 最佳化兩個簡單的巢狀迴圈巢狀
- 迴圈中巢狀非同步操作的流程控制巢狀非同步
- 展開巢狀列表巢狀
- while + else 使用,while死迴圈與while的巢狀,for迴圈基本使用,range關鍵字,for的迴圈補充(break、continue、else) ,for迴圈的巢狀,基本資料型別及內建方法While巢狀資料型別
- python 利用 for ... else 跳出雙層巢狀迴圈Python巢狀
- html的巢狀規則HTML巢狀
- Vue中的巢狀路由Vue巢狀路由
- iOS開發·runtime+KVC實現多層字典模型轉換(多層資料:模型巢狀模型,模型巢狀陣列,陣列巢狀模型)iOS模型巢狀陣列
- 解決巢狀list型別的JSONObject/JSONArray轉換成原來list問題。巢狀型別JSONObject
- wget遞迴下載wget遞迴
- 【C++】翻轉二叉樹(遞迴、非遞迴)C++二叉樹遞迴
- 什麼是遞迴?遞迴和迴圈的異同遞迴
- 一種巢狀滑動衝突的解決方案巢狀
- vue筆記-6 vue中router路由 路由引數的傳遞 巢狀路由Vue筆記路由巢狀
- golang的巢狀事務管理Golang巢狀
- JavaScript中if巢狀assert的方法JavaScript巢狀
- vue的元件巢狀關係Vue元件巢狀
- 008. vue元件的巢狀Vue元件巢狀
- python 遞迴樹狀結構 和 排序Python遞迴排序
- python基礎語法迴圈巢狀和列表(一)Python巢狀
- python基礎語法迴圈巢狀和列表(二)Python巢狀
- java中如何將巢狀迴圈效能提高500倍Java巢狀
- ES6解構巢狀物件巢狀物件
- 巢狀ScrollView問題解決思路巢狀View
- 一種非巢狀滑動衝突的解決方案巢狀
- ?30 秒瞭解尾遞迴和尾遞迴優化遞迴優化
- JavaScript中的遞迴JavaScript遞迴
- 函式的遞迴函式遞迴
- 遞迴函式原理 技能包瞭解一下遞迴函式