![](/img/trans.png)
[英]replace a string after specific index in javascript str.replace(from, to, indexfrom)
[英]how to replace a string in javascript after the specific index
嗨,我有一个包含html内容的字符串,我想使用javascript将标签<p class =“ MsoNormal”>替换为''空白,并且我想用<br>标签替换相应的结束标签</ p>该字符串。
如果我用
第一行:
str=str.replace(/<p class=\"MsoNormal\">/g,'');
第二行: str=str.replace(/<\\/p>/g,'<br>');
所有的</ p>结束标记都将被删除。但是我要替换具有</ p>结束标记的开始标记为“ <p class =“ MsoNormal”>“。
第一行的脚本对我来说还可以,我应该用什么替换第二行中的相应结束标记。
检查一下:输出是我从您的问题中得到的结果是用空字符串替换
var replaceTag = function(str, replaceTagString, endTagString) {
var str = '';
while(str.indexOf(replaceTagString) != -1) {
//search for </p> after my matched String
var indexOfClosingTag = str.indexOf(endTagString, str.indexOf(replaceTagString))
//Replace </p> using Substring
str = str.substr(0,indexOfClosingTag) + "<br>" + str.substr(indexOfClosingTag + endTagString.length,k.length)
//Replace your main String
str = str.replace(replaceTagString,'')
}
return str
}
var k = "<p class='MsoNormal'>something</p><p>other p tag</p><h1>I am h1</h1><p>Hello p</p><p class='MsoNormal'>Replace My Tag too</p>"
replaceTag(k, "<p class='MsoNormal'>", "</p>")
输出:
"something<p>other p tag</p><h1>I am h1</h1><p>Hello p</p>Replace My Tag too"
概念:
string.indexOf(searchvalue,start)
在我当前匹配的字符串位置之后开始搜索标签结尾(P)
像这样自己定义一个函数->
String.prototype.replaceAt=function(index, character) {
return this.substr(0, index) + character + this.substr(index+character.length);
}
并像这样使用它:
str = str.replaceAt(3, "</p>");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.