以前写过很渣的一个对 ajax 进行转换的东东, Bug 满天飞,但是最后勉强能用,我抄一段给你,你可以看下
function check_single(single){
/*
* Code by:Qian
* 描述:
* 第一遍粗略正则
* 将<div id=xxx class="xxx" xxx="xxx">AAAAAA... </div>
* 匹配成
* $1= div id=xxx class="xxx" xxx="xxx"
* $2 = AAAAAA...
* $3 = div
*/
var select_Regx = /\<\//g;
var regx;
//准备处理的数据
var pre_Data = single;
//判断是闭合标签还是单标签
var n = pre_Data.match(select_Regx) || [];
if(n.length == 1){
//闭合
regx=/\<(.*)*\>(.*)*(\<\/(.*)*\>)/i;
}else{
//单标签 img a 这类
regx=/\<(.*)*\>(.*)*(\<\/(.*)*\>)*/i;
}
var result=regx.exec(pre_Data);
one = result[1];
two = result[2];
if(two){//如果有 content 这个值
Content_stack.push(two);
}
//从$1 中提取标签,不取$1 作为标签是因为 img a 这些没有闭合标签
var regy=/(\b(.)*\b)\s/i;
var t = regy.exec(result[1]);
if(t){
three = result[1].substring(0,result[1].search('\\s'));
RegExp_One();
return getResult();
}else{
return getzero();
}
// alert(one);
// alert(two);
// alert(three);
}
这是 github 地址
https://github.com/linshuizhaoying/AjaxRegExp我知道我水平渣=-=请不要打击我,尽量挑能夸的夸,谢谢