这是替换文字script。
我称之为:
$(document).ready(function() {
$('#test-id').replaceText(/\[this\]/g,'<b>').replace(/\[\/this\]/g,'</b>');
});
它应该只在下面加粗[this] bold text [/this]
, HTML :
<span id="test-id"> [this] This is some text that contains [/this] red color with bold text</span>
它只应在此[this][/this]
内加粗文字,但问题是它还会使其他文字加粗,而不是隐藏最后一个[/this]
。
我也试着称之为:
$('#test-id').replaceText(/\[this\]/g,'<b>');
因此,请建议如何仅替换[this] This is some text that contains [/this]
,而不是其他文字,并隐藏最后[/this]
个。
请参阅小提琴:http://jsfiddle.net/vw5b1szm/1/
感谢。
答案 0 :(得分:1)
你可以做到
$('#test-id').replaceText(/\[(\/)?this\]/g, '<$1b>');
演示:Fiddle
由于您正在进行基于dom的替换,因此无法通过两个步骤执行此操作,即[this]
和[/this]
无法在两个不同的调用中替换,而您需要在一次调用中替换它到replaceText
。您第二次替换是使用replace
而不是replaceText