实现代码一:
给标签内属性值加上双引号
var addDqmForPP = function(shtml){
return shtml.replace(/( [^=]*=)(s?[^"s>]*)/ig,function(a,b,c,d,e){return (c)?(new RegExp("<[^>]*"+c.replace(/(^|(|)|[|]|{|}|?|-|\|/|||$)/g,'\$1')+"[^>]*>","i").test(e))?b+'"'+c+'"':b+c:b});
};
完整测试代码
实现代码二:
给标签内属性值加上双引号标记变小写
核心代码
var partialXHTML = function (value) {
return value.replace(/<(/?[a-zA-Z]+s*)((?:"[^"]*"|'[^']*'|(?!'|"|/?>).)*)(/?>)/g, function (l, $1, $2, $3) {
return '<' + $1.toLowerCase() + $2.replace(/([^=]+)=(?:(")[^"]*"|(')[^']*'|((?:(?!s|'|"|/?>).)*))/g, function (l, $1, $2, $3, $4) {
return ($2||$3) ? l : $1 + '="' + $4 + '"';
}) + $3;
});
};
完整代码



