嗨,我有包含 html 内容的字符串,我想使用 javascript 将标签
替换为 '' 空白,我想将相应的结束标签
替换为该字符串中的标记。
如果我使用
第一行:
str=str.replace(/<p class=\"MsoNormal\">/g,'');
第二行:str=str.replace(/<\/p>/g,'<br>');
所有结束
标记都被删除。但我想替换开始标记为“”的结束
标记。脚本的第一行对我来说没问题。我应该用什么来替换第二行中相应的结束标记。
最佳答案
检查一下:输出是我从你的问题中得到的内容,替换为空字符串
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)
Start searching for End of the Tag (P) after my current matched string position
关于javascript - 如何在javascript中替换特定索引后的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31259987/