使用正则表达式转换BBCode

时间:2010-12-10 17:09:22

标签: regex asp.net-mvc-2 bbcode

我正在为网站建立一个自定义讨论区。 (该网站确实需要一个自定义的。:))我想要做的是使用正则表达式取[b]并转入输出。然后是另一个样式[img] example.jpg [/ img]并输出< \ img src =“example.jpg”>。但到目前为止,我所尝试的一切似乎都没有奏效。有没有人有任何关于它如何工作的例子?

2 个答案:

答案 0 :(得分:1)

这是一个用于转换的python脚本。 Python: Replace tags but preserve inner text V2

答案 1 :(得分:0)

perl的简要解决方案是

s/\[b\]([^\[]*)\[\/b\]/<b>$1<\/b>/g;
s/\[img\]([^\[]*)\[\/img\]/<img src="$1" \/>/g;

在php中详细说明这个解决方案是:

<?
$text = 'enter your text here';
$text = preg_replace('/\[b\]([^\[]*)\[\/b\]/','<b>$1<\/b>',$text);
$text = preg_replace('/\[img\]([^\[]*)\[\/img\]/','<img src="$1" \/>',$text);
print "$text";  // print new text
?>

更准确地说,你可以使用perl:

$text = ' text [b]tucny[/b] je [b]u[/b]rcite [img]dobre.gif[/img] dalsi';
$text =~ s/\[b\]([^\[]*)\[\/b\]/<b>$1<\/b>/g;
$text =~ s/\[img\]([^\[]*)\[\/img\]/<img src="$1" \/>/g;
print $text;

的Jakub