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: (0)
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