Преобразование BBCode с использованием регулярных выражений - PullRequest
0 голосов
/ 10 декабря 2010

Я создаю пользовательскую доску обсуждений для веб-сайта.(Веб-сайту нужен пользовательский. :)) Я пытаюсь использовать регулярные выражения, чтобы взять [b] и включить в вывод.Затем также другой стиль [img] example.jpg [/ img] и вывод <\ img src = "example.jpg">.Но пока все, что я пробовал, похоже, не работает.У кого-нибудь есть примеры того, как это будет работать?

Ответы [ 2 ]

1 голос
/ 11 января 2011
0 голосов
/ 11 декабря 2010

Краткое решение в 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;

Якуб

...