Parser BBCode, Klasa, PHP 5 |
Parser BBCode, Klasa, PHP 5 |
31.01.2008, 13:19:32
Post
#1
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 20.06.2005 Skąd: Bielsk Podlaski Ostrzeżenie: (0%) |
Demo:
http://pliki.puklerz.pl/parser/ Źródło: http://pliki.puklerz.pl/parser/parser.class.phps Download: http://pliki.puklerz.pl/parser/parser.zip Szybka, prosta i zgrabna klasa parseru. Jestem praktycznie pewien, że nie pogubi się w tagach i wszystkie odpowiednio zinterpretuje. Dodatkowo, sprawdza ich kolejność i jest banalna w obsłudze i modyfikacji. Konfiguracja klasy: Mam nadzieję, że jest na tyle intuicyjna, że nie trzeba nic tłumaczyć.
Schemat tagu przy powyższej konfiguracji: Kod [tag=parametr]wartość[/tag] Sposób użycia:
[edit.31.01.2008] Dodałem tagi list, przykład: Kod [ul] [li]test[/li] [li]test2[/li] [/ul] [edit.22.03.2008] Parę poprawek, m.in nie ma potrzeby stosowanie cudzysłowu przy ustalaniu parametrów. Życzę miłego użytkowania. Ten post edytował Louner 15.02.2009, 20:11:20 |
|
|
31.01.2008, 14:46:39
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) |
A co z listami (ul, li, ol...) ?
-------------------- |
|
|
31.01.2008, 15:04:11
Post
#3
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 20.06.2005 Skąd: Bielsk Podlaski Ostrzeżenie: (0%) |
@vokiel
Możesz sobie dopisać edytując zmienną $tags, i funkcję check_tag, żeby sprawdzić, jak w ul, ol są poukładane tagi li. Zajmę się tym później, teraz niech zostanie jak jest. [edit.31.01.2008] Już dodałem tagi list. Ten post edytował Louner 31.01.2008, 20:19:45 |
|
|
2.02.2008, 10:38:33
Post
#4
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 1 Dołączył: 1.09.2007 Ostrzeżenie: (0%) |
nie wiem czemu ale u mnie gdy tylko dołączam klasę parser'a od razu robi się biała strona, nawet włączenie raportowania na wszystko, nie pomaga, nawet nie chce mi wypluć żadnego komunikatu błędu.
Nie wiem czym jest to spowodowane, dodam tylko, że wgrywam "czystą" wersję bez przeróbek bo myślałem, że to one jakiś błąd powodują |
|
|
2.02.2008, 15:39:36
Post
#5
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 20.06.2005 Skąd: Bielsk Podlaski Ostrzeżenie: (0%) |
Nie wiem do końca w czym może leżeć błąd, skrypt generuje go tylko w jednym miejscu, w linii 127, jeżeli jakimś cudem przez wyrażenie regularne z linii 86 przedostałyby się znaczniki otwierające i zamykające tag ( inne niż w $this -> config['open_string'] lub $this -> config['close_string'] ). Dodatkowo, użyłem dla własnej wygody '@' w linii 272, żeby skrypt nie wypisywał błędu o wyjściu poza tablicę ( @$tags_between[$key+1][0] ). Być może tam jest usterka.
Powodzenia Ten post edytował Louner 2.02.2008, 15:41:54 |
|
|
2.02.2008, 18:33:00
Post
#6
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 1 Dołączył: 1.09.2007 Ostrzeżenie: (0%) |
ale to właśnie biała strona pojawia się wtedy, gdy chcę dołączyć plik klasy do strony, bez żadnych innych czynności.
Usunąłem małpkę z linii 272, lecz nadal nic ;S Ten post edytował daw22 2.02.2008, 18:34:05 |
|
|
2.02.2008, 19:07:04
Post
#7
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 20.06.2005 Skąd: Bielsk Podlaski Ostrzeżenie: (0%) |
Z jakiej wersji PHP korzystasz? Skrypt musi generować u Ciebie jakis błąd, tylko nie jest wyświetlany. Takie rzeczy zdarzają się z joomlą, albo phpbb przema i też chodzi o jakieś charakterystyczne usterki.
|
|
|
2.02.2008, 19:18:51
Post
#8
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 1 Dołączył: 1.09.2007 Ostrzeżenie: (0%) |
PHP 5.2.5, raportowanie mam ustawione na E_ALL.
Nie wiem co może być przyczyną |
|
|
2.02.2008, 21:41:22
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) |
zrób możliwość nie podania cudzysłowu po = np zamiast
[ url="http://wupe" ]http://wp.pl[ /url ] [ url=http://wupe ]http://wp.pl[ /url ] często się o tym zapomina Ten post edytował radex_p 2.02.2008, 21:45:17 -------------------- |
|
|
22.03.2008, 20:33:48
Post
#10
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 20.06.2005 Skąd: Bielsk Podlaski Ostrzeżenie: (0%) |
Dodałem parę poprawek, m.in nie ma potrzeby stosowanie cudzysłowu przy ustalaniu parametrów. Nowy kod jest do pobrania pod starymi linkami .
Pozdrawiam |
|
|
23.06.2008, 18:58:19
Post
#11
|
|
Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) |
tak btw: u mnie to samo czyli nawet zamiast standardowego przykładu z Twojego demo jest false. Podpiąłem dla testu pod istniejące już forum (aby skorzystać z gotowych bbcode userów) i tam zauważyłem, że niektóre posty przechodzą ale na ogól jednak jest false. Niestety nie zaobserwowałem żadnej zależności pomiędzy treścią, a błędem. Co najdziwniejsze nawet ten twój przykład daje false
Server: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.1 with Suhosin-Patch X-Powered-By: PHP/5.2.4-2ubuntu5.1 -------------------- |
|
|
31.05.2009, 15:20:42
Post
#12
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 36 Dołączył: 12.01.2008 Skąd: Puszcza Mariańska Ostrzeżenie: (0%) |
Ja właśnie użyłem tej klasy i jak na razie działa bezproblemowo
mam tylko 1 uwagę czy dałoby się zrobić tak że jeżeli mamy tekst objęty jakimś zadeklarowanym tagiem np.
to żeby nie parsowało zawartości tych znaczników <img src="style_emoticons/<#EMO_DIR#>/questionmark.gif" style="vertical-align:middle" emoid="??" border="0" alt="questionmark.gif" /> bo próbowałem sam jakoś do tego dojść ale mi nie wyszło chodzi mi oto żeby nie były to na sztywno podane wyżej znacznki ale żeby można było je sobie zadeklarować podobnie jak jest tu czyli różny wygląd dla tagów Kod tekst
itd Ten post edytował luniak 31.05.2009, 15:26:12 -------------------- Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
-------------------- |
|
|
28.06.2009, 21:54:23
Post
#13
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 20.06.2005 Skąd: Bielsk Podlaski Ostrzeżenie: (0%) |
Napisalem skrypt parseru praktycznie od nowa, działa szybciej i lepiej. Tym razem zamiast 'false' zwraca tablicę z komunikatem, gdy podczas parsowania nastapił błąd, a zwykłego stringa gdy wszystko jest ok.
Podpiąłem wszystko pod stary link downloadu i przykład, ale nie wiem czemu nie mogę zedytować pierwszego posta. |
|
|
29.06.2009, 12:40:51
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
-------------------- |
|
|
19.08.2009, 15:12:40
Post
#15
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 2 Dołączył: 25.08.2003 Skąd: Lublin Ostrzeżenie: (0%) |
bardziej mi jakos podchodzi kod z plagina do smarty..
Ten post edytował b3 19.08.2009, 15:14:16 -------------------- textmate @mac trance / buraki |
|
|
10.09.2009, 13:47:17
Post
#16
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 2 Dołączył: 25.03.2009 Skąd: Pionki Ostrzeżenie: (0%) |
fajna ta klasa jednak mam jedno pytanie - czy myślałeś aby wprowadzane zmiany były natychmiast widoczne tzn. chodzi mi tak jak to jest w "wysiwyg" że nie widzimy znaczników a efekt końcowy...
-------------------- Organizujesz konkurs? Chcesz coś wygrać? Wejdź na www.e-Konkursy.info :)
|
|
|
29.11.2009, 17:41:02
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) |
linki zdają się prowadzić do nikąd
-------------------- :)
|
|
|
29.11.2009, 19:27:03
Post
#18
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 20.06.2005 Skąd: Bielsk Podlaski Ostrzeżenie: (0%) |
Postaram się coś z tym zrobić w ciągu najbliższych kilku dni.
|
|
|
29.11.2009, 21:31:34
Post
#19
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) |
@Louner a jest możliwość dodania własnych tagów bo brakuje mi tu kilku np. sub, sup, code=name
Edit: chyba że mam starą wersję znalazłem ją na phpclasses.org. Ten post edytował skowron-line 29.11.2009, 21:34:27 -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 19:53 |