Encapsulate results in div tags

Posted on

Problem

I would like to turn the following:

<div>this is a $test</div>

into

<div>this is a <div>$test</div></div>

currently I have

var regexp = new RegExp('$([^\s]*)','g'),
    html = '<div>this is a $test</div>',
    matched = html.match(regexp)[0]

if (matched){
   html = html.replace(match, '<div>' + match + '</div>')
}

which works, but is there a more concise way of doing this?

Solution

Sure, use String.replace. As an added bonus, it doesn’t fail when there is no match:

'<div>this is a $test</div>'.replace(/($w+)/g, '<div>$1</div>')

Leave a Reply

Your email address will not be published. Required fields are marked *