I have some existing code that looks something like this:
[tag:cb cbid="12345" cbwidth="200" cbclassname="calloutbox" cbposition="left"] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
[tag:cb cbid="123" cbwidth="200" cbclass="calloutbox2" cbposition="left"] Suspendisse eleifend enim a magna pretium porttitor.
I need to write a VB .Net global function that will match these [tag:cb]
and take the optional parameters and rewrite the string with Html tags.
<div id="12345" width="200" class="calloutbox" position="left">content (based on id)</div>
Any help is appreciated. Thanks.
Here's a start:
^\[tag:cb([^\]]*)\](.*)$
And then you use capturegroup 1 and 2 to make the new string:
<div$1>$2</div>
This will generate something like:
<div cbid="12345" cbwidth="200" cbclassname="calloutbox" cbposition="left"> Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
<div cbid="123" cbwidth="200" cbclass="calloutbox2" cbposition="left"> Suspendisse eleifend enim a magna pretium porttitor.</div>
The problem is that it will still have attributes like cbid="123"
instead of id="123"
. Preferably you would like to run it through another regexp to replace all occurances of cb([^=]*)
and replace with capturegroup 1.
That would output the following:
<div id="12345" width="200" classname="calloutbox" position="left"> Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
<div id="123" width="200" class="calloutbox2" position="left"> Suspendisse eleifend enim a magna pretium porttitor.</div>
All you have to do now is to implement it in VB .Net :)
You can see the first part in action here: http://regexr.com?2vbkq
and the second part here: http://regexr.com?2vbl3