Witam
Dzisiaj pokażę wam mój sposób na formatowanie tekstu tak jak np. na forach internetowych.
Przykłady BBCode znajdziecie Tutaj.
Dzięki tym funkcjom możemy podmienić dany ciąg w tekście na inny.
Na przykład, chcemy zrobić pogrubienie tekstu, w bazie będzie pisać [b]pogrubiony[/b], a dzięki preg_replace(); podmienimy na HTML <b>pogrubiony</b>.
Kod będzie wyglądał tak:
Coś trudniejszego np. link gdzie podajemy nazwę linku i adres linku:
Myślę, że kod nie jest taki trudny i łatwy do zrozumienia, wyjaśnię tylko co oznacza (.*?) i $1, $2.
(.*?) tekst który chcemy wyciągnąć z BBCode, a $1, $2 to fragment który chcemy wyświetlić w HTML.
Aby zmieniać tekst na minki np. 🙂 na jakąś minkę używamy str_replace(); np.
Dla ułatwienia działania możemy zrobić własną funkcję BBCode, na przykład:
function BBCode($text){
$text = preg_replace(’/[b](.*?)[/b]/’, '<b>$1</b>’, $text);
$text = preg_replace(’/[url=(.*?)](.*?)[/url]/’, '<a href=”$1″>$2</a>’, $text);
$text = str_replace(’:)’, '<img src=”usmiech.png” />’, $text);
return $text;
}
?>
Przykład użycia:
echo BBCode($text);
Efekt:
Mam nadzieję, że komuś się przyda i spodoba taki sposób 🙂
DraG
