我想替换,在text var中添加一些字符串以“包装”我的内容,然后稍后追加。
例如我在我的字符串var中有这个(在我的var中没有换行符):
[th_section type="boxed" bgcolor="" txtcolor=""]
[th_header type="h1" txtalign="txt-left" subtitle="essai subtitle" txtcolor=""]
HEADER 1
[/th_header]
[th_five_sixths txtalign="txt-left" boxed="" last_column="true"]
[th_header type="h5" txtalign="txt-left" subtitle="" txtcolor=""]
100% Responsive Design
[/th_header]
Phasellus enim libero, blandit vel sapien vitae, condimentum ultricies magna et. Quisque euismod orci ut et lobortis aliquam.
[/th_five_sixths]
[/th_section]
我想替换/添加像这样的p标签:
<p>[th_section type="boxed" bgcolor="" txtcolor=""]</p>
<p>[th_header type="h1" txtalign="txt-left" subtitle="essai subtitle" txtcolor=""]</p>
<p>HEADER 1</p>
<p>[/th_header]</p>
<p>[th_five_sixths txtalign="txt-left" boxed="" last_column="true"]</p>
<p>[th_header type="h5" txtalign="txt-left" subtitle="" txtcolor=""]</p>
<p>100% Responsive Design</p>
<p>[/th_header]</p>
<p>Phasellus enim libero, blandit vel sapien vitae, condimentum ultricies magna et. Quisque euismod orci ut et lobortis aliquam.</p>
<p>[/th_five_sixths]</p>
<p>[/th_section]</p>
事实上,我可能会搜索如何正则表达式:
$someDiv.replace('[th_*******]', '<p>[th_*******]</p>').replace('[/th_*******]', '<p>[/th_*******]</p>')
我不知道在这种情况下使用替换的正确方法是什么。括号之间的名称可以不同,除了[th _...]和[/ th _...] 也许我需要使用不同于替换的功能,我真的不知道......
答案 0 :(得分:1)
我真的在正则表达式上很糟糕,但我认为这应该有效:
theString.replace(/\]([^\[]+)/g, function(m) {
return "]<p>" + m.slice(1) + "</p>";
}).replace(/(\[.*?\])/g, "<p>$1</p>"); // /(\[\/?th_[^\]]*\])/g
答案 1 :(得分:0)
我可以指导你jQuerys .wrap()
method。它将获取您选择的元素,并使用您在方法第一个参数中定义的标记来包装它们。在您的情况下,这将是.wrap('<p></p>')
。我希望这会有所帮助。