所以,我有一个很长的申请表,我在WordPress上用联系表格7插件制作。 标签看起来像这样:
[text text-758 "Building name"]
我犯了一个错误:我忘记添加标签了。它应该是这样的:
<label>Building name[text text-758]</label>
现在我必须在所有应用程序中进行更改。 我的问题(我是JavaScript的初学者):我可以写一个小脚本来为我做这个吗? 我宁愿学习用纯JavaScript而不是Jquery来做。 也许正则表达式会有所帮助?和insertBefore()? 我想在我的控制台中这样做或者说... codepen。 没有id或类,只是一个很大的“字符串”。 我被卡住了。
答案 0 :(得分:0)
嗯,你应该修改你的标签构建代码,但是现在这个东西可以帮助:
var reg = /\[(.*)\s"(.*)"]/
, test = '[text text-758 "Building name"]'
test.replace(reg, '<label>$2[$1]</label>') // should return what you need
答案 1 :(得分:0)
正如Roman在评论中所提到的,你应该修复源代码而不是应用客户端补丁。
也就是说,您可以在本地使用Javascript来修复源代码 - 虽然Node.js可能是这批次工作的更好选择。
注意: .insertBefore()
是一种DOM操作方法。不是字符串操作方法。这就是为什么你的问题不明确的原因。
var str =
'Hello World! [text text-758 "Building name"]' +
'This is a test. [text text-123 "Foo"]';
str = str.replace(
/\[([a-z]+ [a-z]+-\d+) "([^"]+)"\]/gi,
"<label>$2[$1]</label>",
str
);
console.log(str);
&#13;