2010-12-10 100 views
0

我正在爲網站構建一個自定義討論板。 (該網站確實需要一個自定義的:))我想要做的是使用正則表達式來獲取[b]並轉到輸出。然後還有其他樣式[img] example.jpg [/ img]和輸出< \ img src =「example.jpg」>。但到目前爲止,我所嘗試過的一切似乎都沒有奏效。有沒有人有任何這如何工作的例子?使用正則表達式轉換BBCode

+0

我正確地標記了它,但我忘了提及我正在使用asp.net mvc2 – Dale 2010-12-10 17:14:42

+0

請告訴我們你到目前爲止所做的工作。我們可以幫助您制定一個正常工作表達式。 – 2010-12-10 17:15:42

回答

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

+0

順便說一句你在提問中提到的img標記是不正確的我想你代碼而不是 gorn 2010-12-10 21:12:34

+0

是的。對於延遲迴復感到抱歉。你的回答非常好。 – Dale 2010-12-28 01:44:33