Related (but not the same):
Javascript Regex: How to bold specific words with regex?
Given a needle and a haystack... I want to put bold tags around the needle. So what regex expression would I use with replace()? I want SPACE to be the delimeter and I want the search to be case insensitive and I want special characters (such as @!#.()) to be ignored in the search
so say the needle is "cow" and the haystack is
cows, at www.cows.com, milk some COWS!
would turn into
<b>cows</b>, at www.cows.com, milk some <b>COWS</b>!
also keywords should be able to have spaces in it so if the keyword is "who is mgmt"...
great band. who. is. mgmt btw?
would turn into
great band. <b>who. is. mgmt</b> btw?
I've got this currently:
function updateHaystack(input, needle) {
return input.replace(new RegExp('(^|\s)(' + needle + ')(\s|$)','ig'), '$1<b>$2</b>$3');
}
unfortunately it doesn't bold words that are concatenated with a special char... eg. !cow does not turn into !<b>cow</b>
Thank you
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…