Question

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.

Was it helpful?

Solution

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top