Глобальная функция замены RegEx для создания HTML из квадратных скобок []
У меня есть существующий код, который выглядит примерно так:
[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.
Мне нужно написать глобальную функцию VB .Net, которая будет соответствовать этим [tag:cb]
и принять необязательные параметры и переписать строку с HTML-тегами.
<div id="12345" width="200" class="calloutbox" position="left">content (based on id)</div>
Любая помощь приветствуется. Благодарю.
1 ответ
Вот начало:
^\[tag:cb([^\]]*)\](.*)$
А затем вы используете группу 1 и 2 для создания новой строки:
<div$1>$2</div>
Это сгенерирует что-то вроде:
<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>
Проблема в том, что он по-прежнему будет иметь такие атрибуты, как cbid="123"
вместо id="123"
, Желательно, чтобы вы пропустили его через другое регулярное выражение, чтобы заменить все вхождения cb([^=]*)
и заменить на группу захвата 1.
Это вывело бы следующее:
<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>
Все, что вам нужно сделать сейчас, это реализовать его в VB .Net:)
Вы можете увидеть первую часть в действии здесь: http://regexr.com/?2vbkq
и вторая часть здесь: http://regexr.com/?2vbl3