Post
#1
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Projekt jest już na githubie pod adresem
https://github.com/wookieb/bbcode Proszę o dodawanie informacji o bugach właśnie tam. UPDATE Wersja 1.2 [php bbcode, parser bbcode, advanced bbcode parser] Chciałbym dziś zaprezentować swój mechanizm parsujący kod bbcode oraz ułatwiający nam kontrolę nad tym czy tagi są prawidłowo używane. Klasa do pobrania: https://github.com/wookieb/bbcode/zipball/master Przykład działania: http://wookieb.pl/bbcode/test.php Readme.html w paczce oraz pod adresem http://wookieb.pl/bbcode/readme.html Licencja Skrypt wydany na licencji BSD. Dla własnego jak i komercyjnego użytku. Ustawienia parsera Ustawienia dla parsera znajdują się teraz w klasie BbCodeSettings. Ciekawsze z ustawień to Zaufany kod
Ustawienie kontroluje stopień sprawdzenia danych. Gdy kod bbcode sparsowaliśmy wcześniej to pobieramy jest wersję zaufaną i zapisujemy.
Przy ponownym odczytaniu kodu, możemy oznaczyć kod jak zaufany. Spowoduje to ominięcie wielu operacji kontroli atrybutów, przez co parsowanie jest szybsze. Kod $bbcode = new BbCode(); $text='[b] Bla Bla [i] Hehe'; $bbcode->parse($text, false); // nie chcemy wyniku wiec ustawiamy na false $code=$bbcode->getBbcode(); // [b] Bla Bla [i] Hehe[/i][/b] // $code zapisujemy // po pewnym czasie odczytujemy i parsujemy go jeszcze raz $bbcode->getSettings()->trustText = true; echo $bbcode->parse($code); Dostępność tagów Możliwe jest włączenie tylko niektórych tagów parsera Kod $bbcode = new BbCode(); $text = '[b]Pogrubienie[/b] [i]Kursywa[/i]'; echo $bbcode->parse($text); // <b>Pogrubienie</b> // <i>Kursywa</i> $bbcode->getSettings()->availableTags = array('b'); echo $bbcode->parse($text); // <b>Pogrubienie</b> // Kursywa Walidacja HTML (kolejności użycia) Domyślnie parser poprawia kolejność użycia tagów. np kod Kod [b] pogrubienie [i] Kursywa[/b] [ul] [li]Element listy [/b] [/i] Zamieni na Kod [b] pogrubienie [i] Kursywa[/i][/b] [ul] [li]Element listy[/li] [/ul] Tworzenie zajawek Parser potrafi tworzyć zajawke o odpowiedniej ilości znaków (ignorując przy tym tagi bbcode). Wspiera różne kodowania. Test pod adresem http://wookieb.pl/bbcode/cut_test.php Rozszerzanie możliwości Za pomocą tworzenia nowych tagów i dodawania ich specjalnych ustawień można rozszerzyć bbcode o dodatkowe tagi, możliwości. Szczególnie chciałbym zwrócić uwage na możliwość "przetrzepania" kodu przez funkcje filtrów, dzięki którym możemy tworzyć zaawansowane zależności. Informacje na temat ustawień dostępne pod linkiem http://wookieb.pl/bbcode/readme.html ZACHĘCAM DO OCEN, WNOSZENIA WŁASNYCH UWAG A TAKŻE PROPOZYCJI ZMIAN Mam nadzieję, że przyda się niejednej osobie, która dostrzeże możliwości użycia parsera NIE TYLKO do Bbcode (IMG:style_emoticons/default/smile.gif) i nie tylko. Update - 2009.05.31 Dodałem tag youtube do paczki. Inne zmiany: - poprawiony generowany kod html dla taga IMG - poprawiona metoda wyszukiwania nazwy taga - poprawiona szybkość działania - przeniesienie ustawień do BbCodeSettings - poprawiona walidacji urli - dodatkowe zabezpieczenia przed XSS Ten post edytował wookieb 23.08.2011, 19:46:20
Powód edycji: [wookieb]: [wookieb]: [Spawnm]: update
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%)
|
No nie wiem, czy zapis do bazy jest szybszy od sprawdzenia poprawności tagów. Wydaje mi się, że lepszym (szybszym) rozwiązaniem byłoby cache'owanie na dysku.
@down: a no fakt, nie zrozumiałem przeznaczenia. Mógłbyś dopisać do tej klasy cache'owanie - gdy implementowałem bbcode u siebie i robiłem benchmark, to przykładowy bbcode parsował się średnio 4ms, a przy włączonym cache'owaniu wczytywanie trwało średnio koło 0.2ms. jest różnica (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ten post edytował .radex 2.03.2009, 20:16:07 |
|
|
|
Post
#3
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
No nie wiem, czy zapis do bazy jest szybszy od sprawdzenia poprawności tagów. Wydaje mi się, że lepszym (szybszym) rozwiązaniem byłoby cache'owanie na dysku. Mi bardziej chodziło o to, że np gdy zapisujemy post to najpierw tworzymy wersję z poprawnym kodem i dopiero zapisujemy post w bazie. Przez co przy wyświetlaniu posta na stronie możemy zastosować szybszą wersję parsowania (z zaufanym kodem bb). No chyba, że ktoś zapisuje w bazie wersję htmlową ale to już jego sprawa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Co do zapisywania na dysku to jak najbardziej. Ale to już zostawmy mechanizmowi cachowania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) //UP Cachowanie mam zrobione ale to już oddzielny mechanizm (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Ten post edytował wookieb 3.03.2009, 12:38:28 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 219 Pomógł: 16 Dołączył: 16.07.2007 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 6 Dołączył: 10.04.2006 Ostrzeżenie: (0%)
|
Klasa działa fajnie. Jefnak z danego tutka nie jestem w stanie stworzyć dodatkowego znacznika. Chodzi mi o kolor.
Czyli
z podglądu wykoncypowałem tak ( dodane do filtra baisic po font)
Jeżeli można proszę o pokazanie gdzie leży błąd. Jak będę pewny to dodam sobie jeszcze underline |
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
I to był właśnie mój błąd którego nie ująłem we wstępnej dokumentacji
Wstępnie zakładałem następujące możliwości podania parametru: "parametr ze spacja itd" 'parametr ze spacja' [0-9][a-z] - tutaj nie łapało koloru. Oczywiście był to mój błąd w założeniu. Poprawka polega na zamianie liniii 391 na następującą
Uaktualniłem paczkę na serwerze. Ten post edytował wookieb 12.03.2009, 09:46:03 |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 6 Dołączył: 10.04.2006 Ostrzeżenie: (0%)
|
Dięki ~wookieb.
Z kolorem od razu pomogło. Ja jednak (bardzo prawdopodone!) upośledzony. Nie czaje dokumentacji o dodawaniu dodatkowych znaczników. Od 2h próbuje utworzyć Jeżeli nie stanowi to problemu mógłbyś dać przykład tworzenia znacznika z "zaprogramowanymi" atrybutami (np. text-decoration: underline) jak i z dołączanymi (np. text-align: wyrównanie ). no może z wyrównaniem sobie poradzę (jak wcześniej zrobiłem z "color") ale tak ku potomnym bo klasa działa naprawdę extra. |
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Jeżeli nie stanowi to problemu mógłbyś dać przykład tworzenia znacznika z "zaprogramowanymi" atrybutami (np. text-decoration: underline) jak i z dołączanymi (np. text-align: wyrównanie ). Właśnie coś takiego robie i na dziś wieczorem ma być możliwośc dodawania domyślnych atrybutów i ich wartości. |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%)
|
aż z ciekawości jak wrócę ze studiów po weekendzie to sobie zerknę w kod... swoją drogą jak tak na szybko na przewijaniu zerknąłem to nie powinno być trudne w stosowaniu, składnią przypomina ale tak pobieżnie patrząc DOM z php
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%)
|
Bardzo ciekawa klasa, gratulacje. Wiem co mówię bo swego czasu wytestowałem takich z 10 i z każdą były większe lub mniejsze problemy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Trzeba tą odpicować i będzie gites (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Na szybko to co wpadło mi w oczy: - brak automatycznej zamiany URLa na link (czyli http://jakisurl.pl/cos) - tym samym brak skracania zbyt długich URLi (skracania samego opisu linka aby nie rozjechał treści serwisu) - brak obsługi Kod [img]http://link.do.img[/img] jest tylko dziwne [img=url] - od razu dodam żeby sprawdzać czy URL jest na pewno IMG - include_once 'filters/'.$filter.'.php'; -> wywal bbcode aby można to było bez modyfikacji wszędzie ładować Kod application/libraries/bbcode/bbcode.class.php [458]: in_array() [function.in-array]: Wrong datatype for second argument bb_code->parse( [url="http://test.pl"] [url=http://test.pl] [url='http://test.pl] [url]http://test.pl[/url] ) musi być idiotoodporne (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jak wrzucisz kolejną wersję to na pewno przetestuje. Mam ogromne ilości danych na których mogę to testować (w sensie treści userów z for). |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%)
|
Ok sprawdziłem i dwie uwagi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
1. jeśli umieścimy coś między [ul] a [li] to nie zostanie to usunięte co powoduje wygenerowanie nievalidującego się kodu html 2. Wyrzuca błędy
Ja przy okazji zaspamuje i podrzucę link do swojego rozwiązania: http://forum.php.pl/index.php?showtopic=55195 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Pozdrawiam |
|
|
|
Post
#14
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Klasa została poprawiona i usprawniona. Dodałem wszystkie standardowe tagi bbcode.
Można ściągać i sprawdzić teraz. |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 7 Dołączył: 9.12.2008 Skąd: wroc Ostrzeżenie: (0%)
|
a ja pobrałem klasę ,wypakowałem ją do katalogu na serwer oraz uruchomiłem plik test.php i moim oczom ukazał się błąd :
Kod <b>Parse error</b>: syntax error, unexpected T_ARRAY, expecting '&' or T_VARIABLE in <b>e:\usr\krasnal\www\paser bb\bbcode\data_validator.class.php</b> on line <b>251</b> o co chodzi ? może to chodzi o serwer ,sprawdzę na innym . faktycznie na innym działa dobrze ;] . Ten post edytował slewin 14.05.2009, 13:42:11 |
|
|
|
Post
#16
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Zapewne masz php4 zamiast php5
|
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 7 Dołączył: 9.12.2008 Skąd: wroc Ostrzeżenie: (0%)
|
na jednym mam PHP Version 5.0.4 a na tym gdzie paser działa : PHP Version 5.2.6 .
|
|
|
|
Post
#18
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Cytat PHP 5 introduces Type Hinting. Functions are now able to force parameters to be objects (by specifying the name of the class in the function prototype) or arrays (since PHP 5.1). However, if NULL is used as the default parameter value, it will be allowed as an argument for any later call.
|
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 7 Dołączył: 9.12.2008 Skąd: wroc Ostrzeżenie: (0%)
|
testuje paser od jakiegoś czasu i przyzna,m że jest świetny . Mam tylko jedno pytanie : np. w bazie mam tresc a w tresci jest url z filmem do youtube i chcial bym go odrazu podmienic na odtwarzacz jak to zrobic ?
Ten post edytował slewin 28.05.2009, 13:49:05 |
|
|
|
Post
#20
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Przykładowy filtr
youtube.php
Użycie tagu Kod [youtube]http://link/do/filmiku[/youtube] Filtr dodajemy poprzez dodanie wartosci 'youtube' do tablicy
albo ładujemy do dynamicznie
UWAGA! Jest to tylko taki template do samodzielnego dokończenia kodu. To jak wyswietlimy filmik i co bedziemy chcieli wyciagnac z adresu potrzebne dane zalezy tylko od nas. Według standardów na http://bbcode.org powinno sie używać Kod [youtube]id_movie[/youtube] więc nic nie stoi na przeszkodzie, żeby to dorobić. Ten post edytował wookieb 28.05.2009, 14:49:48 |
|
|
|
Post
#21
|
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 7 Dołączył: 9.12.2008 Skąd: wroc Ostrzeżenie: (0%)
|
dzięki , już łapie o co chodzi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) .
Będę się musiał trochę pomęczyć z tym bo przykładowy filmik ma taki oto god Kod <object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/hmcS8EyI0RQ&hl=pl&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param> <embed src="http://www.youtube.com/v/hmcS8EyI0RQ&hl=pl&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object> jak widać link do filmu jest w dwóch miejscach przy value oraz src ;/ . hmm myślę że przyjrzę się dokładnie filtrowi url i coś wykombinuje ;] . pozdrawiam |
|
|
|
Post
#22
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Wiec ten kod wstawiasz w miejsce
Kod tutaj wpisujemy kod odpowiadajacy za wyswietlenie filmiku youtube A url masz w $str. Ten post edytował wookieb 28.05.2009, 15:13:07 |
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 7 Dołączył: 9.12.2008 Skąd: wroc Ostrzeżenie: (0%)
|
Tak zrobiłem wcześniej ,ale nie było widać odtwarzacza , po kliknieciu prawym klawiszem myszy na miejsce gdzie powinnien być wyskakuje opis " film niewczytany..." a źródło wygląda tak
Kod <object width="560" height="340"> <param name="movie" value="http://www.youtube.com/watch?v=TbSNHrSwm9M"> <param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"> <embed src="http://www.youtube.com/watch?v=TbSNHrSwm9M" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></object> http://www.youtube.com/watch?v=TbSNHrSwm9M jak widać wywala znacznik </embed> , nie wiem czemu . |
|
|
|
Post
#24
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Zacznijmy od tego, że raczej coś źle zrobiłeś bo mi nic nie ucinało.
Podsyłam cały filtr. Przyda się dla potomnych.
|
|
|
|
Post
#25
|
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 24.10.2004 Skąd: TG Ostrzeżenie: (0%)
|
może się przyda:) http://hobix.com/textile/quick.html
|
|
|
|
Post
#26
|
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 33 Dołączył: 30.01.2008 Skąd: Wrocław Ostrzeżenie: (0%)
|
Witam!
http://wookieb.pl/bbcode/cut_test.php - ten przykład nie działa poprawnie. Chciałbym się dowiedzieć gdzie można wyłączyć automatyczne zamienianie & na & ponieważ używam klasy convert charset i tam polskie litery są zapisywane do bazy w takim stylu: & #380 ; (bez spacji) i przy tej klasie bbcode zamiast litery pokazują się te znaki. pozdrawiam Ten post edytował Fafu 23.06.2009, 23:51:20 |
|
|
|
Post
#27
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Oczywiście masz rację.
Poprawiłem cut_test.php wraz z małym bugiem który znalazłem. Jeżeli chodzi o twój problem to używam funkcji htmlspecialchars to zabezpieczenia przez wstrzykaniem htmla, możesz ją zamienić na następującą funkcje
Aktualne miejsca w których trzeba to zastąpić to linia 826
Linia 1077:
Oczywiście w niektórych filtrach również występuje htmlspecialchars wiec wystarczy ze je przeszukasz i bedzie po kłopocie. Szczerze mówiąc trochę nie rozumiem używania encji do kodowania polskich znaków, no ale jak tak robisz. Ten post edytował wookieb 24.06.2009, 09:50:17 |
|
|
|
Post
#28
|
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 33 Dołączył: 30.01.2008 Skąd: Wrocław Ostrzeżenie: (0%)
|
Dzięki za odpowiedź, czy żeby u mnie działało wycinanie tekstu muszę pobrać paczkę od nowa? (czy aktualizowałeś coś?).
Używam encji żeby nie było problemów z kodowaniem np. przy przenoszeniu bazy danych (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#29
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Tak aktualizowałem, pobierz nową paczkę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
|
Post
#30
|
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 33 Dołączył: 30.01.2008 Skąd: Wrocław Ostrzeżenie: (0%)
|
No niestety nadal coś nie działa...
wyświetla się: Kod [/Array][/Array][/Array][/Array] oraz dużo błędów typu: Kod Warning: Illegal offset type in C:\Program Files\WebServ\httpd\forum\bbcode\bbcode.class.php on line 488
|
|
|
|
Post
#31
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Sprawdź czy aby napewno poprawnie ściągnąłeś nowe pliki.
Poprawiłem jeszcze błąd z call_time_pass_reference. Jak widzisz na serwerze działa wszystko ok, poza tym jest całkiem nowy cut_test.php http://wookieb.pl/bbcode/cut_test.php |
|
|
|
Post
#32
|
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 33 Dołączył: 30.01.2008 Skąd: Wrocław Ostrzeżenie: (0%)
|
No niestety, ściągałem kilka razy i nic. Ciągle te same błędy.
EDIT: już działa (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) chodziło o cache przeglądarki - pobierało mi poprzedni plik. pozdrawiam Ten post edytował Fafu 24.06.2009, 13:07:42 |
|
|
|
Post
#33
|
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 7 Dołączył: 9.12.2008 Skąd: wroc Ostrzeżenie: (0%)
|
a ja mam mały problem bo nie wiem jak stosować znacznik <img> zdjęcia ? mam np. taki oto kod
Kod <img src="http://www.nazwawww.pl/www/yyy/xxx/zzz/fotak.jpg" border="0" height="100" width="100" alt=""> jak go zamienić by działał poprawnie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
|
Post
#34
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Nawet nie wiesz co to bbcode :/
http://bbcode.org/reference.php |
|
|
|
Post
#35
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 27.12.2008 Skąd: Szamotuły, Poznań Ostrzeżenie: (0%)
|
Kurczę, nie mogę ogarnąć jednej rzeczy - chciałbym dodać znacznik [flash={szerokosc},{wysokość}]{url_obiektu_flash}[/flash] i nie mam pojęcia jak się za to zabrać ;/
|
|
|
|
Post
#36
|
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%)
|
Ja mam pytanko z całkiem innej sceny. Jaka jest licencja na używanie tej klasy?
|
|
|
|
Post
#37
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Do własnego jak i komercyjnego użytku.
Nie znam się specjalnie na licencjach więc niech będzie BSD |
|
|
|
Post
#38
|
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 22.09.2009 Skąd: śląsk Ostrzeżenie: (0%)
|
U mnie śmiga, że hej!
Narazie poprawiłem jeden błąd: błędnie: (bbcode/filter/youtube.php)
prawidłowo: (bbcode/filter/youtube.php)
a jeszcze kilka jest, później popoprawiam. a tu (jak chcecie!) możecie zobaczyć jak to u mnie se śmiga: (spoiler:) Księga Gości! (IMG:style_emoticons/default/biggrin.gif) jak dla mnie bomba! Wielkie dzięki za ten skrypt, samemu by mi się chyba nie chciało (IMG:style_emoticons/default/sad.gif) edit: coś wam (forum) "spoiler" w bbcode cienko działa (IMG:style_emoticons/default/snitch.gif) Ten post edytował lysiu 23.09.2009, 00:59:34 |
|
|
|
Post
#39
|
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%)
|
|
|
|
|
Post
#40
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Tak
|
|
|
|
Post
#41
|
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 22.09.2009 Skąd: śląsk Ostrzeżenie: (0%)
|
no i na przykład do img nie dodajesz alt i nie zamykasz znacznika /> to się też nie waliduje w strict
tak myślę, że przydała by się możliwość wyłączenia niektóych znaczników (bo teraz to nie wiem gdzie to zedytować?) i zamieniania nieznanych znaczników na '' (puste). np jak ktoś wpisze [ble]cos[/ble] -> cos (bez []) Ten post edytował lysiu 23.09.2009, 12:02:13 |
|
|
|
Post
#42
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
prawidłowo: (bbcode/filter/youtube.php) Zapomniałeś o części dość ważnych parametrów. Wrzucam tak jak każą. no i na przykład do img nie dodajesz alt i nie zamykasz znacznika /> to się też nie waliduje w strict Zaraz wrzucam nowa wersje to bedzie poprawione Cytat tak myślę, że przydała by się możliwość wyłączenia niektóych znaczników (bo teraz to nie wiem gdzie to zedytować?) i zamieniania nieznanych znaczników na '' (puste). np jak ktoś wpisze [ble]cos[/ble] -> cos (bez []) A pomyślaleś co będzie jak ktos bedzie chcial wpisac tekst, ktory jest miedzy nawiasami? np "Byłem u lekarz [tego na Przytockiej]" Ale oczywiscie mozna to zrobic. W nowej wersji linia 686
zamieniasz na
|
|
|
|
Post
#43
|
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa |
|
|
|
|
Post
#44
|
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 20 Dołączył: 15.11.2006 Skąd: Koszalin Ostrzeżenie: (0%)
|
Wszystko fajnie wygląda. Brakuje tylko integracji z Kohaną ;-)
|
|
|
|
Post
#45
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
A co za problem zintegrować to samemu? A dlaczego phpmailer nie jest zintegrowany z kohana, albo z ZF? Integrujcie sobie gdzie chcecie.
|
|
|
|
Post
#46
|
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 20 Dołączył: 15.11.2006 Skąd: Koszalin Ostrzeżenie: (0%)
|
Swift jest zintegrowany w kohana.
Z tą integracją żartowałem. Fajnie napisana biblioteka (IMG:style_emoticons/default/smile.gif) Implementował ktoś Geshi dla [code] ? Coś u mnie nie interpretuje tego jak powinien. Wychodzi kod potraktowany jakby htmlspecialchars. htmlspecialchars_decode nic nie pomaga ... hmm.. Jeśli formatuje kod np. java jest ok. Jeśli zaś formatuje kod jako php oraz posiada znaczniki <?php ... ?> nie interpretuje tego dobrze, nie wyświetla nawet textarea geshi. Natomiast kod php bez znaczników <?php, ?> wyświetla okno textarea geshi, z tym że nie interpretuje kodu. |
|
|
|
Post
#47
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Pokaż jak zaimplementowałeś geshi.
|
|
|
|
Post
#48
|
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 20 Dołączył: 15.11.2006 Skąd: Koszalin Ostrzeżenie: (0%)
|
Mam dwa pytania.
1. Jest jakaś opcja dostarczenia do tego parsera listy dozwolonych tagów? 2. Jeśli istnieje taka lista to jak do pozostałych tagów dodawać spację np. użytkownik poda <nowy_tag>, chcę uzyskać < nowy_tag. Chodzi o to, aby nie traktował błędnego tagu jako kod html. |
|
|
|
Post
#49
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
1) A readme.html czytał?
2) Opcje leave_* opisane w manualu, dokumentacja BbCodeSettings również się kłania. |
|
|
|
Post
#50
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 12.10.2008 Ostrzeżenie: (0%)
|
przyda się (IMG:style_emoticons/default/smile.gif)
użyję w swoim skrypcie |
|
|
|
Post
#51
|
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 20 Dołączył: 15.11.2006 Skąd: Koszalin Ostrzeżenie: (0%)
|
Jeszcze jedno pytanie. Da się zrobić odwrotną konwersję, czyli html->bbcode ?
|
|
|
|
Post
#52
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Tak da się tworząc filtry odwrotne. Aczkolwiek takiej możliwości jeszcze nie udostępniłem.
|
|
|
|
Post
#53
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
nie wiem czy to tylko u mnie, czy znalazłem buga
jeśli w parsowanym kodzie jest link powiedzmy http://www.wp.pl/cos to przestaje działać dodawanie <br/> w znakach nowej linii (IMG:style_emoticons/default/biggrin.gif) więc pytanie, co jest nie tak, bądź jak zdebugować to. PS: Mam klasę zintegrowaną z Kohaną, sam do końca nie wiem czy poprawnie |
|
|
|
Post
#54
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
@Zdunek Poprawiłem błąd, Dzięki za info (IMG:style_emoticons/default/smile.gif)
|
|
|
|
Post
#55
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
@Zdunek Poprawiłem błąd, Dzięki za info (IMG:style_emoticons/default/smile.gif) no i znowu będę musiał integrować z Kohaną (IMG:style_emoticons/default/tongue.gif) Jeśli możesz powiedzieć jakie linijki są do zmiany, będę bardzo wdzięczny |
|
|
|
Post
#56
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Linia 1233
|
|
|
|
Post
#57
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
Linia 1233 dzięki znalazłem już następny błąd link na przykładzie http://www.1980-games.com/us/old-games/nin...3;/big-game.php po !/ przestaje być linkiem Edit: przy autolinkowaniu nie działają także linki typu http://www.radareklamy.org/uchwala,163.html ucina przy przecinku Ten post edytował Zdunek 5.11.2009, 21:51:13 |
|
|
|
Post
#58
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Wielkie dzięki (IMG:style_emoticons/default/smile.gif)
Przyznam, że wyrażenie skądś kopiowałem i przyznam, że nie ma to jednak jak zrobić coś samemu (IMG:style_emoticons/default/smile.gif) Poprawki: Url.php (98) DataValidator.class.php (141) Oczywiście + za doraźną pomoc (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#59
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
Wielkie dzięki (IMG:style_emoticons/default/smile.gif) Przyznam, że wyrażenie skądś kopiowałem i przyznam, że nie ma to jednak jak zrobić coś samemu (IMG:style_emoticons/default/smile.gif) Oczywiście + za doraźną pomoc (IMG:style_emoticons/default/smile.gif) To ja dziękuję za parser (IMG:style_emoticons/default/winksmiley.jpg) mam jeszcze pytanko, jak zrobić by zajawka była bez znaczników bb ale by ten kod nie miał także htmla, tz. był tylko bez bbcode ? Edit: chyba jednak ciągle jest błąd http://www.radareklamy.org/uchwala,163.html + tekst wywala takie coś ";/null" (IMG:style_emoticons/default/biggrin.gif) |
|
|
|
Post
#60
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Przetestowałem link i jest ok. Proszę upewnij się czy na pewno masz poprawną wersję. Chodzi tylko o wyrażenia regularne więc mogło ci sie coś pomotać, albo coś nadpisałeś (IMG:style_emoticons/default/smile.gif)
Cytat mam jeszcze pytanko, jak zrobić by zajawka była bez znaczników bb ale by ten kod nie miał także htmla, tz. był tylko bez bbcode ? Chodzi ci o sam czysty tekst? Jeżeli tak to aktualnie nie brałem takiej opcje pod uwagę (a może faktycznie się przydać). Aczkolwiek możesz to uczynić trochę okrężną drogą. Pobrać zajawkę i wywalić z niej html, pomyślę nad tym. |
|
|
|
Post
#61
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
Przetestowałem link i jest ok. Proszę upewnij się czy na pewno masz poprawną wersję. Chodzi tylko o wyrażenia regularne więc mogło ci sie coś pomotać, albo coś nadpisałeś (IMG:style_emoticons/default/smile.gif) Jednak moja wina (IMG:style_emoticons/default/biggrin.gif) patrzałem na zły wpis ;] Cytat Chodzi ci o sam czysty tekst? Jeżeli tak to aktualnie nie brałem takiej opcje pod uwagę (a może faktycznie się przydać). Aczkolwiek możesz to uczynić trochę okrężną drogą. Pobrać zajawkę i wywalić z niej html, pomyślę nad tym. tak czysty tekst daję na przykładzie http://wklejasz.pl/user/zobacz/Zdunek o wiele lepiej by było gdyby znaczniki poznikały, ew by b i u zmieniły się w html a cała reszta by zniknęła(głównie obrazki, filmiki YT itp.) z wiadomych powodów (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#62
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Pomysł ciekawy. Dlatego dodałem do tagów opcję hide_body_in_cut_text (domyślnie w img i youtube). Oznacza ona, że zawartość danego taga nie będzie pokazywana, ani nie będzie wpływała na długość zajawki w skracanym tekście.
Wcześniej była opcja w ustawieniach parsera (BbCodeSettings) o nazwie availableTags. Jest ona tablicą w której podajemy nazwy tagów, które są dostępne w parserze. Rozszerzyłem opcje o "removeNotAvailableTags" (domyślnie true). Oznacza ona czy usuwać tagi, które nie są dostępne. Wygląda to w ten sposób Kod $bbcode = new BbCode(); $text = '[i]Tekst[/i] [b]do skrócenia[/b] [img]Adres obrazka[/img] Dodatkowy tekst[/i]'; $bbcode->getSettings()->availableTags = array('i', 'img'); //img jest konieczny aby parser wiedział, żeby go NIE pokazywać przy cutText $bbcode->parse($text); echo $bbcode->cutText(20); // mniej więcej coś takiego [i]Tekst[/i] do skrócenia ... Zmiany w plikach Image.php (dodana opcja) Youtube.php (dodana opcja) BbCode.class.php (Zmiany w metodach _createNode, _filtersParseBody, cutText) BbCodeSettings.class.php (poprawiono komentarze, dodano opcję removeNotAvailableTags) |
|
|
|
Post
#63
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
mam pytanko, w jaki sposób podczepić GeSHi ?
znalazłem gdzie // tutaj mozemy dodać geshi czy to tez sie podoba ale nie mam bladego pojęcia w jaki sposób to uczynić (IMG:style_emoticons/default/biggrin.gif) Edit: Próbowałem tak łopatologicznie wstawić ale tak jak ktoś wcześniej pisał, wywala jakby ktoś przeleciał htmlspecialchars... funkcja:
Ten post edytował Zdunek 24.11.2009, 17:42:34 |
|
|
|
Post
#64
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Jest to zabezpieczenie przed tym aby czasem autor filtra, nie zapomniał o zabezpieczeniu przed xss. Dlatego dodajemy flage "nohtmlspecialchars" aby przy budowanie tekstu końcowego, nie traktował danego NODE'a htmlspecialchars.
|
|
|
|
Post
#65
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
Jest to zabezpieczenie przed tym aby czasem autor filtra, nie zapomniał o zabezpieczeniu przed xss. Dlatego dodajemy flage "nohtmlspecialchars" aby przy budowanie tekstu końcowego, nie traktował danego NODE'a htmlspecialchars.
wrzuciłem to, niestety nie zadziałało |
|
|
|
Post
#66
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Faktycznie był mały błąd. Poprawiony + podany wzór używania geshi
Zmiana plików: Filters/Url.php Filters/Code.php (funkcja obsługująca geshi zakomentowana ) |
|
|
|
Post
#67
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
mam jeszcze jedno pytanko,
w jaki sposób zrobić obsługę na zasadzie będzie
i by do geshi podawało ten atrybut lang ? próbowałem się wzorować na Url ale niestety nic mi z tego nie wyszło Ten post edytował Zdunek 25.11.2009, 20:07:36 |
|
|
|
Post
#68
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Oczywiście.
Możesz zrobić to za pomocą atrybutu, albo zlecić to oddzielnym tagom. 1) Atrybut a) Należy stworzyć ustawienia twojego atrybutu (szczegóły w readme)
Atrybut jaki posiada tag jest w tagu otwierającym
Druga lepsza opcja to utworzenie taga dla każdego języka
Wybór należy do Ciebie. |
|
|
|
Post
#69
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
Cytat public function parsePhp($tag, &$openNode, &$body, &$closeNode) { $language = 'php'; $this->parseCode($tag, $openNode, $body, $closeNode, 'php'); } jakby ktoś kiedyś przeglądał, powyżej była literówka (IMG:style_emoticons/default/smile.gif) a idzie zrobić tak aby dodawać tylko
a była jedna funkcja parsująca to? zaoszczędziło by to sporo czasu i ułatwiło całość Ten post edytował Zdunek 25.11.2009, 23:16:45 |
|
|
|
Post
#70
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Możesz. Przejrzyj zmienna $tag jaka dostajesz do funkcji i kombinuj (IMG:style_emoticons/default/smile.gif)
|
|
|
|
Post
#71
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
dzięki, udało się podczepić
chyba znalazłem następny błąd (IMG:style_emoticons/default/biggrin.gif) f(x) \xrightarrow{T_{[1,5]}}g(x) zmienia się w f(x) \xrightarrow{T_{}}g(x) |
|
|
|
Post
#72
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Nie jest to błąd tylko ustawienie.
BbCodeSettings->removeNotAvailableTags ustaw na false |
|
|
|
Post
#73
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
Acha, dzięki
a jeszcze jedna rzecz którą zauważyłem przy ustawianiu wielkości czcionek, jeśli czcionka jest za duża, bądź za mała to wywala błąd, mi w kohanaphp pokazuje 'Out of range (maximal)' myślę że lepszą opcją byłoby po prostu ustawienie tej wielkości to maksymalnej bądź minimalnej, a nie wywalenie błędu Ten post edytował Zdunek 26.11.2009, 21:06:33 |
|
|
|
Post
#74
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Widocznie miałem wyłączone pokazywanie błędów.
Poprawka oczywiście na serwerze Dodano @ przed wywołaniami metod DataValidatora w metodzie _parseAttributes Poprawiłem również metodę _getTagInfo oraz _createNode |
|
|
|
Post
#75
|
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 1.12.2009 Ostrzeżenie: (0%)
|
Witaj,
Bardzo przyjemna klasa, kawałek dobrej roboty. Mam jednak z nią pewien zgryz - czy da się ją przekonać do parsowania składni list znanej z phpBB? Chodzi mi o formatowanie typu jak w tym forum: [ list] [*]a [*]b [*]c [/list] oraz [ list=1] [*]a [*]b [*]c [/list] Takie tagi to koszmar każdego parsera tworzonego pod składnię znaną z html (a ten na taki wygląda). Moje próby spełzły na niczym - zrobiłem to dookoła modyfikując javascriptowy edytor pod składnię parsera. Da się to jakoś rozwiązać? |
|
|
|
Post
#76
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Da się przekonać.
Jak pisałem na początku tagi są dostosowane do "standardu" z http://bbcode.org/reference.php Oczywiście da się zrobić tak jak chcesz. Niestety nie jestem w stanie tego zrobić za ciebie w najbliższym czasie dlatego dam małe podpowiedzi. I zamieniasz włąściwość $tags
Co dalej? Piszesz kod obsługi listy parseList do której dostajesz następujące argumenty $tag - tablica informacji o tagu ( w naszym przypadku o tagu list) &$openNode - tag otwierajacy &$body - zawartosc pomiedzy tagami list &$closeNode - tag zamykajacy $settings - ustawienia parsera Na podstawie tablicy body wiesz co wpisał użytkownik. Przejrzyj ją a będziesz już wiedział co dalej z tym zrobić (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#77
|
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 4 Dołączył: 1.12.2009 Skąd: lublin Ostrzeżenie: (0%)
|
mi sie podoba, sprobuje poczytac Twoj kod i sie czegos nauczyc... co by nie byc lama^^
plus ode mnie ;-) E: nie moge dac plusa w nie swoim temacie (IMG:style_emoticons/default/biggrin.gif) nie wazne... Ten post edytował tog 4.01.2010, 20:20:06 |
|
|
|
Post
#78
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
Witam, znalazłem następny błąd
tekst z tego artykułu http://osnews.pl/zapowiedz-swiata-post-nielegalnej-kopii/ i zdaje mi się że przez => ucina 1/3 tekstu po przerzuceniu tekstu przez parser PS: Kod kopiowałem jako mirror bo strona padła jak ktoś wrzucił na wykop |
|
|
|
Post
#79
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Hmm nie zauważyłem takiej przypadłości. Mógłbyś wrzucić dokładny tekst jaki podałeś parserowi? (wklej.org badz wystawić gdzieś na serwerze )
|
|
|
|
Post
#80
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 2 Dołączył: 29.08.2008 Ostrzeżenie: (0%)
|
http://wklejasz.pl/t.txt (plik kodowany w utf-8)
i jak wrzuciłem zamiast > odpowiednik w kodzie, to nie ucięło tekstu |
|
|
|
Post
#81
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Niestety u mnie sytuacja nadal nie występuje.
O ile pamiętam, modyfikowałeś parser, więc polecałbym pobrać parser jeszcze raz i porównać różnice pomiędzy plikami (np total commanderem -> Porównaj według zawartości), może umknęło Ci parę ważnych elementów. Jeżeli pomimo tego problem nadal wystąpi wyrzuć proszę swój parser gdzieś publicznie lub zagadaj na pw w celu wysłania swojego parsera. |
|
|
|
Post
#82
|
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 10 Dołączył: 7.01.2010 Skąd: Lublin Ostrzeżenie: (0%)
|
czekaj... czekaj
nie wiem czemu myslalem, ze parser jest zgodny z xhtml i uzywa np. <span style="weight: bold;"></span> zamiast <b></b> w kazdym razie tak nie jest... co prawda uzywam htmla a nie xhtmla, ale jeszcze jakis czas temu szukalem parsera do xhtmla, w sumie to bez tego caly parser jest neiwiele warty, bo mozna sobie na szybko napisac niewiele gorszy, a plikow ma tyle co polowa cmsa |
|
|
|
Post
#83
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
1) Element B istnieje w XHTMLu
2) Dalece bardziej poprawnym jest użycie Kod <b>test</b> , niż Kod <span style="font-wieght: bold">test</span> .3) Co ma ilość plików do samego parsera? (Samego parsera nie oceniam, bo nigdy go nawet na oczy nie widziałem). |
|
|
|
Post
#84
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
czekaj... czekaj nie wiem czemu myslalem, ze parser jest zgodny z xhtml i uzywa np. <span style="weight: bold;"></span> zamiast <b></b> w kazdym razie tak nie jest... co prawda uzywam htmla a nie xhtmla, ale jeszcze jakis czas temu szukalem parsera do xhtmla, w sumie to bez tego caly parser jest neiwiele warty, bo mozna sobie na szybko napisac niewiele gorszy, a plikow ma tyle co polowa cmsa To napisz. Ocenimy. Stwórz konkurencję to będziemy gadać. A sprawdź czy Kod <span style="weight: bold"></span> jest NIE poprawne a dopiero potem gadaj. Jeżeli piszesz cmsa na 10 plikach to dobrze, ciesz się ale jeżeli nie znasz się na wydajnym organizowaniu struktury plików, obiektów i celu dla jakiego to zorganizowałem (a z tego co widzę to nie znasz się) to się nie wypowiadaj, albo jak już zapytaj. Rozumiem opinie negatywne ale ta jest zupełnie bezpodstawna. Dodatkowo zadziwię cię. Możesz zmienić męczący cię kod na B, I, U, LI. BA! Nawet możesz sobie zamienić na "MOJ_TAG_POGRUBIENIA_KTOREGO_UZYWAM_W_XML_A_NASTEPNIE_TRANSFORMUJE_ZA_POMOCA _XSLT". 1) Element B istnieje w XHTMLu 2) Dalece bardziej poprawnym jest użycie Kod <b>test</b> , niż Kod <span style="font-weight: bold">test</span> http://webdesign.about.com/od/htmltags/p/bltags_b.htm Cytat If you can't use the <strong> element, then you should consider using the CSS font-weight property. Sprawdźcie czy jest poprawne
Semantycznie nie jest, aczkolwiek validator kod przepuszcza. |
|
|
|
Post
#85
|
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 10 Dołączył: 7.01.2010 Skąd: Lublin Ostrzeżenie: (0%)
|
jestem za bardzo pro zeby pisac byle BB (IMG:style_emoticons/default/biggrin.gif)
szukalem np. takiego parsera ktory jest w wbb3, gdzie calosc jest formatowana css i sie nie gryzie ale chyba nie ma co z reszta, zaczalem dzisiaj czytac joomle, to co tam zobaczylem przeroslo moje wyobrazenia o duzych aplikacjach to jest jakis kombajn, moze troche przesadzam z tym ograniczaniem aplikacji |
|
|
|
Post
#86
|
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 3 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#87
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Oczywiście, że jest i oczywiście, że wszystko jest opisane w readme
|
|
|
|
Post
#88
|
|
|
Grupa: Zarejestrowani Postów: 272 Pomógł: 19 Dołączył: 29.07.2006 Ostrzeżenie: (10%)
|
Czy istnieje możliwość do pisania w Kod <a href="http://" target="_blank"></a> wartości title, a w obrazkach alt??Zależało by mi na tym, jest to możliwe? wystarczy przeczytać readme <- sama nazwa pliku mówi żeby przeczytać ;] Poza tym jak przejrzysz kod klasy to również możesz twierdzić czy idzie dopisać |
|
|
|
Post
#89
|
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 3 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
No fakt, za readme wziąłem inny plik i stąd moja niewiedza.
Już sobie z tym poradziłem. Dzięki. |
|
|
|
Post
#90
|
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%)
|
A ja mam taki problem
mam aktualnie taki układ plików: Main: -class: --Bbcode: ---pliki tej klasy --klasa1.php --klasa2.php -index.php i mój problem wygląda w ten sposób, że po skopiowaniu zawartości pliku test.php (z paczki bbcode) do index.php i zaincludowaniu klasy bbcode w ten sposób: include_once ('class/Bbcode/BbCode.class.php'); Dostaję kupę błędów:
Ale gdy wrzucę index.php do katalogu class wszystko działa, co robię źle? Ps. dołączenie innego pliku z katalogu bbcode np. include_once 'class/Bbcode/asd.php'; działa dobrze, chmody są ustawione na 777 i nie ma żadnych dodatkowych zabezpieczeń |
|
|
|
Post
#91
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
masz 2 wyjścia
1) dodać do include path katalog "class", 2) poprawić wszędzie ścieżkę dołączanych plików na poprzedzając ją 'class/' |
|
|
|
Post
#92
|
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%)
|
Wielkie dzięki już wszystko dobrze działa.
|
|
|
|
Post
#93
|
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 13.07.2009 Skąd: Ziemia Ostrzeżenie: (0%)
|
Zauważyłem drobny błąd chyba.
W linijce 51 w pliku youtube.php jest: a powinno być: Czemu jak mam tag CODE to cdy dam do środka kolejny taki tak pokauje mi się okienko na kod i w nim drugie? |
|
|
|
Post
#94
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 15.04.2007 Ostrzeżenie: (0%)
|
Czy jest mozliwość usprawnienia biblioteki/filtru w taki sposób, żeby wyłapywał niedomknięte tagi? Chodzi mi o napisanie filtra do obsługi innego typu listy, takiej jak na przykład na tym forum.
Kod [list=1] [*] pozycja 1 [*] pozycja 2 [*] pozycja 3 [/list] Listę otwiera tag list, domyślnie jest to ul, ale jeśli podamy parametr w postaci liczby, to zamienia sie w ol i rozpoczyna odliczanie od podanej liczby. Każda pozycja w liście to tag *. Bardzo często spotyka się listy własnie w takim formacie BBCode. |
|
|
|
Post
#95
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Zauważyłem drobny błąd chyba. W linijce 51 w pliku youtube.php jest: a powinno być: Faktycznie zgadza się. Niedługo to poprawię. Czemu jak mam tag CODE to cdy dam do środka kolejny taki tak pokauje mi się okienko na kod i w nim drugie? Takie było założenie. Narazie je zostawiam w takiej formie, dopóki dokładniej tego nie przemyślę. Cytat Czy jest mozliwość usprawnienia biblioteki/filtru w taki sposób, żeby wyłapywał niedomknięte tagi? Chodzi mi o napisanie filtra do obsługi innego typu listy, takiej jak na przykład na tym forum. Posługiwałem się "standardem" z http://bbcode.org/reference.php Aczkolwiek, nie ma problemu by sobie napisać tak działającą listę. Odpowiednie zaprogramowanie funkcji parsującej listę i jest. |
|
|
|
Post
#96
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 15.04.2007 Ostrzeżenie: (0%)
|
A w jaki sposób mogę użyć asterixa w nazwie taga? Skrypt nie parsuje tagu [ * ], natomiast bez problemu działa na innych [tagbb] ze znakami alfanumerycznymi. Dodatkowo gdzie w ustawieniach mogę zmienić, aby tab zamykający [/*] nie był wymagany? Próbowałem obejść to i przy parsowaniu całej listy (to udało mi się szybko zrobić) wywołać:
Kod $body[0]['text'] = preg_replace('/\[\*\](.*)/i','<li>$1</li>',$body[0]['text']); Niestety po utworzeniu wynikowego html, po var_dump() dostaję wynik przepuszczony przez htmlspecialchars(). Nie mogłem namierzyć, gdzie się to filtrowanie odbywa. Można to w przypadku takiego taga wyłączyć? Może istnieje jakiś natywny sposób na parsowanie elementów listy w takim formacie? Dodatkowo do basic filtra proponuję dołączyć tagi [ left], [ center] i [ right] do wyrównania tekstu. Sam sobie dopisałem i są przydatne. (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#97
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Czemu jak mam tag CODE to cdy dam do środka kolejny taki tak pokauje mi się okienko na kod i w nim drugie? A jednak duża ilość opcji się przydaje (IMG:style_emoticons/default/smile.gif) Wystarczy, że do taga code dodasz podane ustawienia:
Co do "gwiazdkowej" listy (IMG:style_emoticons/default/smile.gif) Mała pomoc:
Odprogramuj tylko metodę parseList. Przejrzyj zawartość tagu otwierającego i możesz przykładowo spojrzeć na filtr Image, która pokazuje co można zrobić z tagiem/mi. |
|
|
|
Post
#98
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 15.04.2007 Ostrzeżenie: (0%)
|
Na szybko napisałem taki filtr, ale gwiazdki z nic nie mogę zmusić do współpracy. (IMG:style_emoticons/default/sad.gif) Gdy zamiast * podam cokolwiek innego w nazwie taga, parser działa bez problemów np.:
W przypadku gwiazdki tag nie jest w ogóle parsowany i dostaje go surowej postaci. Czy ja coś źle ustawiam, że dla 'l' dziala, a dla '*' nie, czy to może jakiś bug parsera? Jeszcze muszę dopisać samo przetwarzanie takich tagów, bo według tego co napisałeś generowany html jest w postaci '<li/> Jakiś tekst', a parser traktuje samodomknięty tag i tekst jako 2 osobne pola w tablicy elementów. Dla kodu:
Dostaję wynik w postaci:
Jakaś wskazówka na skutecznego fixa? (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#99
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Ściągnij parser i skopiuj plik BbCode.class.php . Wczoraj to zrobiłem, poniewaz faktycznie parser blokował tego typu tagi.
|
|
|
|
Post
#100
|
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 3 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
Mam problem z funkcją do skracania.
Przy skracaniu [ul][li][/li][ul] powinno brać cały [li][/li], domknąć [ul] a dopiero wtedy dopisać "...". BBcode: Cytat [ul] [li]Internet Explorer,[/li] [li]Firefox,[/li] [li]Google Chrome 4.0,[/li] [li]Safari 3.0.[/li] [/ul] W chwili obecnej OPT się wysypuje: Ten post edytował GyniO 16.05.2010, 16:00:17 |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 09:09 |