我使用自己创建的bbcode [wiki] [/ wiki],因此在这些代码之间封装的每个单词都会创建一个指向我的wiki的链接。见下面的代码。这很有效。
if (show_wiki_dscn == true ){
var wiki_start = '<a class="fancywiki" href="http://www.domain.com/support/wiki-inline/';
var wiki_end = '" data-fancybox-type="iframe"><i class="fa fa-question-circle fa-1x"></i></a>';
$('div.content_body').each(function() {
$(this).html( $(this).html().replace( /\[wiki]/g, wiki_start ).replace( /\[\/wiki]/g, wiki_end));
})
} else {
var wiki_start = '<a class="pop-tooltip" href="http://www.domain.com/support/wiki/';
var wiki_end = '" target="blank" title="Read our wiki"><i class="fa fa-question-circle fa-1x"></i></a>';
$('div.content_body').each(function() {
$(this).html( $(this).html().replace( /\[wiki]/g, wiki_start ).replace( /\[\/wiki]/g, wiki_end));
})
}
现在我的问题。 我想显示维基“单词”而不是问号。
那么如何复制[wiki]word[/wiki]
并将<i class="fa fa-question-circle fa-1x"></i>
替换为“word”
答案 0 :(得分:1)
您需要使用单个正则表达式,并捕获单词:
$('div.content_body').each(function() {
$(this).html( $(this).html().replace( /\[wiki\](.*?)\[\/wiki\]/g, '<a class="fancywiki" href="http://www.domain.com/support/wiki-inline/" data-fancybox-type="iframe">$1</a>'));
})
我在替换字符串中使用$1
来插入它。
我还建议您阅读Is it really insecure to build HTML strings in Javascript?关于替换方法的信息,因为它目前尚不安全。