html-str-replace
Advanced tools
+104
-104
@@ -13,6 +13,6 @@ | ||
| } | ||
| htmlStrRep.prototype.startRep = function (str, sFrom, sTo = '') { | ||
| htmlStrRep.prototype.startRep = function (str, sFrom, sTo) { | ||
| this.originStr = str | ||
| this.sFrom = sFrom | ||
| this.sTo = sTo | ||
| this.sTo = sTo || '' | ||
| if (str.indexOf(sFrom) === -1 || !sFrom) { | ||
@@ -22,3 +22,3 @@ return str | ||
| this.endObj = this.strToObj(str) | ||
| let changeStr = this.reGroup(this.endObj, sTo) | ||
| var changeStr = this.reGroup(this.endObj, sTo) | ||
| return changeStr | ||
@@ -28,7 +28,7 @@ } | ||
| htmlStrRep.prototype.reGroup = function reGroup (splitObj, sTo) { | ||
| let groupStr = '' | ||
| var groupStr = '' | ||
| if (splitObj.tag) { | ||
| let strArr = [] | ||
| var strArr = [] | ||
| // 递归组合 | ||
| splitObj.children.forEach((n) => { | ||
| splitObj.children.forEach(function (n) { | ||
| strArr.push(this.reGroup(n, sTo)) | ||
@@ -50,3 +50,3 @@ }) | ||
| // 暂存对象 | ||
| let cashObj = { | ||
| var cashObj = { | ||
| tag: '', | ||
@@ -57,9 +57,9 @@ children: [], | ||
| // 匹配tag并去重 | ||
| let tagArr = this.deleHave(this.machTag(str)) | ||
| var tagArr = this.deleHave(this.machTag(str)) | ||
| if (tagArr) { | ||
| let tag = tagArr[0] | ||
| var tag = tagArr[0] | ||
| cashObj.tag = tag | ||
| cashObj.nextStr = '' | ||
| let childArr = str.split(tag) | ||
| childArr.forEach((s, j) => { | ||
| var childArr = str.split(tag) | ||
| childArr.forEach(function (s, j) { | ||
| cashObj.children.push({ | ||
@@ -90,6 +90,6 @@ tag: '', | ||
| } | ||
| let darr = [] | ||
| for (let item of arr) { | ||
| if (darr.indexOf(item) === -1) { | ||
| darr.push(item) | ||
| var darr = [] | ||
| for (var i = 0; i < arr.length; i++) { | ||
| if (darr.indexOf(arr[i]) === -1) { | ||
| darr.push(arr[i]) | ||
| } | ||
@@ -102,96 +102,96 @@ } | ||
| class htmlStrRep2 { | ||
| constructor () { | ||
| this.endObj = { | ||
| tag: '', | ||
| children: [], | ||
| nextStr: null | ||
| } | ||
| this.originStr = '' | ||
| this.sFrom = '' | ||
| this.sTo = '' | ||
| } | ||
| // class htmlStrRep2 { | ||
| // constructor () { | ||
| // this.endObj = { | ||
| // tag: '', | ||
| // children: [], | ||
| // nextStr: null | ||
| // } | ||
| // this.originStr = '' | ||
| // this.sFrom = '' | ||
| // this.sTo = '' | ||
| // } | ||
| startRep (str, sFrom, sTo = '') { | ||
| this.originStr = str | ||
| this.sFrom = sFrom | ||
| this.sTo = sTo | ||
| if (str.indexOf(sFrom) === -1 || !sFrom) { | ||
| return str | ||
| } | ||
| this.endObj = this.strToObj(str) | ||
| let changeStr = this.reGroup(this.endObj, sTo) | ||
| return changeStr | ||
| } | ||
| // startRep (str, sFrom, sTo = '') { | ||
| // this.originStr = str | ||
| // this.sFrom = sFrom | ||
| // this.sTo = sTo | ||
| // if (str.indexOf(sFrom) === -1 || !sFrom) { | ||
| // return str | ||
| // } | ||
| // this.endObj = this.strToObj(str) | ||
| // let changeStr = this.reGroup(this.endObj, sTo) | ||
| // return changeStr | ||
| // } | ||
| // 把树形对象重新组合,没有tag的执行替换 | ||
| reGroup (splitObj, sTo) { | ||
| let groupStr = '' | ||
| if (splitObj.tag) { | ||
| let strArr = [] | ||
| // 递归组合 | ||
| splitObj.children.forEach((n) => { | ||
| strArr.push(this.reGroup(n, sTo)) | ||
| }) | ||
| groupStr += strArr.join(splitObj.tag) | ||
| } else { | ||
| // 在此替换 | ||
| groupStr += this.replace(splitObj.nextStr) | ||
| } | ||
| return groupStr | ||
| } | ||
| // // 把树形对象重新组合,没有tag的执行替换 | ||
| // reGroup (splitObj, sTo) { | ||
| // let groupStr = '' | ||
| // if (splitObj.tag) { | ||
| // let strArr = [] | ||
| // // 递归组合 | ||
| // splitObj.children.forEach((n) => { | ||
| // strArr.push(this.reGroup(n, sTo)) | ||
| // }) | ||
| // groupStr += strArr.join(splitObj.tag) | ||
| // } else { | ||
| // // 在此替换 | ||
| // groupStr += this.replace(splitObj.nextStr) | ||
| // } | ||
| // return groupStr | ||
| // } | ||
| replace (str) { | ||
| return str.split(this.sFrom).join(this.sTo) | ||
| } | ||
| // replace (str) { | ||
| // return str.split(this.sFrom).join(this.sTo) | ||
| // } | ||
| // 把字符串递归切割成树形对象 | ||
| strToObj (str) { | ||
| // 暂存对象 | ||
| let cashObj = { | ||
| tag: '', | ||
| children: [], | ||
| nextStr: null | ||
| } | ||
| // 匹配tag并去重 | ||
| let tagArr = this.deleHave(this.machTag(str)) | ||
| if (tagArr) { | ||
| let tag = tagArr[0] | ||
| cashObj.tag = tag | ||
| cashObj.nextStr = '' | ||
| let childArr = str.split(tag) | ||
| childArr.forEach((s, j) => { | ||
| cashObj.children.push({ | ||
| tag: '', | ||
| children: [], | ||
| nextStr: childArr[j] | ||
| }) | ||
| if (s && this.deleHave(this.machTag(s))) { | ||
| cashObj.children[j] = this.strToObj(s) | ||
| } | ||
| }) | ||
| } else { | ||
| cashObj.nextStr = str | ||
| } | ||
| return cashObj | ||
| } | ||
| // // 把字符串递归切割成树形对象 | ||
| // strToObj (str) { | ||
| // // 暂存对象 | ||
| // let cashObj = { | ||
| // tag: '', | ||
| // children: [], | ||
| // nextStr: null | ||
| // } | ||
| // // 匹配tag并去重 | ||
| // let tagArr = this.deleHave(this.machTag(str)) | ||
| // if (tagArr) { | ||
| // let tag = tagArr[0] | ||
| // cashObj.tag = tag | ||
| // cashObj.nextStr = '' | ||
| // let childArr = str.split(tag) | ||
| // childArr.forEach((s, j) => { | ||
| // cashObj.children.push({ | ||
| // tag: '', | ||
| // children: [], | ||
| // nextStr: childArr[j] | ||
| // }) | ||
| // if (s && this.deleHave(this.machTag(s))) { | ||
| // cashObj.children[j] = this.strToObj(s) | ||
| // } | ||
| // }) | ||
| // } else { | ||
| // cashObj.nextStr = str | ||
| // } | ||
| // return cashObj | ||
| // } | ||
| // 匹配标签 | ||
| machTag (str) { | ||
| return str.match(/<[^>]+>/g) | ||
| } | ||
| // // 匹配标签 | ||
| // machTag (str) { | ||
| // return str.match(/<[^>]+>/g) | ||
| // } | ||
| // 数组去重 | ||
| deleHave (arr) { | ||
| if (!arr) { | ||
| return arr | ||
| } | ||
| let darr = [] | ||
| for (let item of arr) { | ||
| if (darr.indexOf(item) === -1) { | ||
| darr.push(item) | ||
| } | ||
| } | ||
| return darr | ||
| } | ||
| } | ||
| // // 数组去重 | ||
| // deleHave (arr) { | ||
| // if (!arr) { | ||
| // return arr | ||
| // } | ||
| // let darr = [] | ||
| // for (let item of arr) { | ||
| // if (darr.indexOf(item) === -1) { | ||
| // darr.push(item) | ||
| // } | ||
| // } | ||
| // return darr | ||
| // } | ||
| // } |
+1
-1
| { | ||
| "name": "html-str-replace", | ||
| "version": "1.0.6", | ||
| "version": "1.0.7", | ||
| "description": "replace string for html", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
9825
3.14%