代碼如下:
復制代碼 代碼如下:
var rxhtmlTag = /(<([\w:]+)[^>]*?)\/>/g,
rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
fcloseTag = function(all, front, tag) {
return rselfClosing.test(tag) ?
all :
front + "></" + tag + ">";
};
//轉換"Xhtml" 風格的標簽為標准HTML標簽
//如<tag/> 為 <tag></tag>
elem = elem.replace(rxhtmlTag, fcloseTag);
主要看 fcloseTag = function(all, front, tag){}
第一個參數all是通過rxhtmlTag匹配的整個字符串
第二個參數front是通過rxhtmlTag匹配的 第一個 左括號"(" 中的內容
第三個參數tag是通過rxhtmlTag匹配的 第二個 左括號"(" 中的內容
參數的個數根據 正則表達式中 左括號的個數成正比,按照從左到右的參數的位置和左括號的位置也一一對應。