Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Używanie BB Code w aplikacjach PHP

Opcje konfiguracji

Apropos powyższej listy Tagów UBB, wiele innych znaczników jest dostarczonych razem z BBCodeParser i są do twojej dyspozycji. Jednakże, aby z nich skorzystać musisz skonfigurować swój parser, co zrobiono używając pliku "INI" (inicjalizacja). Przykład pliku INI jest dołączony do archiwum i znajduje się w podkatalogu examples/ katalogu pakietu BBCodeParser.Możesz użyć tego pliku bezpośrednio z miejsca, gdzie się znajduje lub skopiować do jakiegoś swojego podręcznego katalogu. Następnie wróć do pliku testu, gdzie klasa HTML_BBCodeParser jest stworzona i zmień linie dotyczącą instancji:

$options = @parse_ini_file('BBCodeParser.ini'); 
$parser = new HTML_BBCodeParser($options);

W ten sposób dostarczasz klasie wszystkie opcje odczytywane z pliku INI. Możesz zmienić ścieżkę dostępu i nazwę pliku INI jeśli jest taka potrzeba.

Plik INI Najistotniejszym elementem konfiguracji, który możesz ustawić w pliku INI jest ta linia:

filters     = Basic,Extended,Links,Images,Lists,Email

Dzięki tej linii parser wie, które filtry ma parsować, a które zignorować. Filtr to prosta klasa PHP używana przez BBCodeParser definiująca zestaw tagów BB. Poniżej znajduje się tabela opisująca, który jaki filtr, za jakie Tagi odpowiada:

Kluczowym dobrodziejstwem parsera jest to, że może być skonfigurowany tak, aby pozwalał, albo nie pozwalał na stosowanie tagów lub grup tagów. Jeśli na przykład używasz tego parsera w swoim CMSie i nie chcesz pozwolić klientowi na dodawanie obrazków, ponieważ mogą nie pasować do wyglądu twojego ładnego layoutu możesz usunąć filtr obrazków (Images) poprzez plik INI.Inne opcje konfiguracyjne, które możesz zechcieć zmieniać w pliku INI:"quotestyle" - możesz ustawić wartość "double" w celu zgodności z XHTML."open" i "close" – możesz zechcieć dołączyć ich standardowe wartości w cudzysłowach jeśli używasz PHP w wersji piątej.A o to jak te ustawienia będą wyglądały w pliku INI:

quotestyle  = double 
open        = "[" 
close       = "]"

Testowy skrypt bb_test3.php i plik INI BBCodeParser.ini jest w archiwum.

Teraz pewnie sobie myślisz "O nie! Tylko nie kolejny język znaczników do nauki…" Bez obawy; są szanse, że ty i twoi użytkownicy znają już większość z tych Tagów. Jeśli, na przykład kiedyś pisałeś cokolwiek na forum opartym o system phpBB takim jak np.: forum SitePonta lub jego bloga i komentarze artykułów znasz już UBB code.

Szczerze mówiąc, chociaż niektóre z tagów mogą wymagać późniejszych wyjaśnień, od niemal każdej implementacji kodu UBB jest pewnego rodzaju dialekt UBB. Nie ma powodu do niepokoju - jest pewien łatwy sposób radzenia sobie z tym. Możesz się uczyć składni kodu UBB i w tym samym czasie testować swój skrypt parsujący przez przeklejanie podawanych danych użytkownika w polu textarea do testującego skryptu.Następnie usiądź wygodnie i podziwiaj wyniki.

[color=red]I'm red and I'm hot[/color] 
[size=16]16pt sized text. That's big.[/size] 
[font=Verdana]I can use all kinds of fonts![/font] 
[align=right]This chunk is aligned to the right[/align] 
[align=center]I'm centered[/align] 
Hey, [quote=http://www.h2g2.com]Don't panic![/quote] 
[code]if ($code) { 
   echo "Code in fixed-width font"; 
}[/code] 

[img]http://www.sitepoint.com/images/sitepoint-logo.gif[/img] 
[img w=80 h=25]http://www.sitepoint.com/images/sitepoint-logo.gif [/img] 

http://www.sitepoint.com 
[url]http://www.sitepoint.com[/url] 
[url=http://www.sitepoint.com]SP[/url] 
[url=http://www.sitepoint.com t=_blank]SP in a new window[/url] 

[url=http://www.sitepoint.com t=_blank][img w=80 h=25]http://www.sitepoint.com/images/sitepoint-logo.gif[/img][/url] 

moi@example.org 
[email]toi@example.org[/email] 
[email=we@example.org]drop us an email[/email] 

[ulist] 
   [*]one 
   [*]two 
[/ulist] 

[list] 
   [*]first  
   [*]second 
[/list] 

[list=1] 
   [*]ordered item 1 
   [*]and ordered item 2 
[/list] 

[list=i] 
   [*]ordered item 1 type i 
   [li=4]ordered item 4 type i[/li] 
[/list] 

[list=I] 
   [*]ordered item 1 type I 
[/list] 

[list=a s=5] 
   [li]ordered item 5 type a[/li] 
   [*]ordered item 6 type a 
[/list] 

[list=A] 
   [li]ordered item 1 type A[/li] 
   [li=12]ordered item 12 type A[/li] 
[/list] 

[list=A s=3] 
   [li]ordered item 1, nested list: 
           [li]nested item 1[/li] 
       [list=I] 
           [li]nested item 2[/li] 
       [/list][/li] 
   [li]ordered item 2[/li] 
[/list]

Możesz użyć CSS aby uatrakcyjnić wyświetlanie niektórych tagów typu:

<a>, <code>,<q>, 

itd. Opcjonalnie możesz także użyć nl2br(), aby przekonwertować znaki nowej linii na znacznik HTML

<br />
Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (2)
^^^
Niedziela 14 Maj 2006 7:56:05 pm - karolski

przydala by sie opcja edycji komentarzy ;p

troche glupie podejscie
Niedziela 14 Maj 2006 7:55:06 pm - karolski

podchodzac do tagow bb code od strony pakietu pear jest dosyc glupie ze wzgledu na to ze zadko ktory profesjonalny hosting nie ma zaintalowanego pear dlatego trzeba prawie zawsze samemu cos takiego napisac nie jest do duze a nie ma potem problemow ze cos nie dziala

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2024 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System