嗨,有一种方法可以将特定文本设为粗体,例如
我有这个#boldword,我希望#boldword2这两个像这样大胆。
我有字,我希望 word2 这两个像这样大胆。
因此,您可以看到第二个示例,我希望前面加粗的每个单词都变为粗体,并且#bold将被删除。
我到目前为止尝试了一些事情
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>The #boldworld is big and red.</p>
&#13;
if (WBC_HFM_Application_Table.SETTLEMENT_DATE Is Null) Then 'No' Else 'Yes' as Funded
&#13;
答案 0 :(得分:0)
根据我的理解,你有一个你想要粗体的单词列表,其中包含前缀#bold
。您想从单词中删除#bold
前缀吗?
您需要做的只是在文字中添加.replace('#bold', '')
。
根据您的评论,您想要更改正则表达式,以便它匹配以#bold
开头的任何字符串并加入它吗?
我使用的模式是(#bold([^\s\.]+))
- 找到以#bold
开头的任何单词然后捕获所有内容直到空格或句点([^\s\.]+)
。整个批次在括号中的原因是整个字符串被替换。我还将替换字符串从$&
更改为$2
。区别在于$&
is similar to $1
,因为它会将整个匹配的字符串(例如#boldworld
)放入文本中;虽然$2
会放入内部匹配的文本(即([^\s\.]+)
中匹配的内容,例如world
)。
为了我自己的理智,我还从内部函数中删除了jquery调用,并将其替换为vanilla javascript。
"use strict";
$.fn.wrapInTag = function() {
//this = jQuery element
return this.html(function() {
//this = dom element
return this.textContent
.replace(/(#bold([^\s\.]+))/gi, '<strong>$2</strong>');
});
};
$('p').wrapInTag();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>The #boldworld is big and #boldred.</p>
&#13;