Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

12 Stron V  « < 5 6 7 8 9 > »   
Reply to this topicStart new topic
> [klasa] Zaawansowany parser bbcode (php5), advanced bbcode parser
wookieb
post
Post #121





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Wystarczy dodać katalog z BbCode do include_path (IMG:style_emoticons/default/snitch.gif)
Go to the top of the page
+Quote Post
Zajec
post
Post #122





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

Ostrzeżenie: (0%)
-----


Cytat(wookieb @ 3.03.2011, 22:11:02 ) *
Wystarczy dodać katalog z BbCode do include_path (IMG:style_emoticons/default/snitch.gif)
Pewnie, tylko wyboraź sobie takie include_path ze wszystkimi projektami.
Kod
.;include/tools/parsers/BbCode/;include/tools/parsers/Wiki/;include/tools/PHPTAL/;include/tools/Sblam/
Ogłupiałbym (IMG:style_emoticons/default/tongue.gif)

Poza tym nie chodzi mi o to, abym ja sobie z tym poradził. Uważam projekt za ciekawy i chciałem, aby każdemu nowemu jego użytkownikowi działało to out-of-box.

Ten post edytował Zajec 8.03.2011, 12:57:59
Go to the top of the page
+Quote Post
gorzat
post
Post #123





Grupa: Zarejestrowani
Postów: 23
Pomógł: 3
Dołączył: 18.03.2011

Ostrzeżenie: (0%)
-----


witam, sciagnalem sobie to, ale nie bardzo wiem jak sie teraz do tego zabrac...
mam sobie strony index.php oraz dodaj.php, na tym samym poziomie folder bbcode.
no i co teraz musze zrobic, zebym w formularzu dodaj.php mogl sobie wpisac tekst i ubrac go w bbcode?
dodaje do plikow
  1. include_once('Bbcode/BbCode.class.php');
  2. $bb=new BbCode();


i co dalej? co mam zrobic, zebym mogl wpisac test i mi sie to w index.php wyswietlilo pogrubione?
poza tym wyskakuje mi blad
Kod
Warning: include_once(Bbcode/Filters/Youtube.php) [function.include-once]: failed to open stream: No such file or directory in E:\wamp\test\templates\bbcode\BbCode.class.php on line 264

Warning: include_once() [function.include]: Failed opening 'Bbcode/Filters/Youtube.php' for inclusion (include_path='.;C:\php5\pear') in E:\wamp\test\templates\bbcode\BbCode.class.php on line 264

w php.ini znalazlem i odznaczylem
Cytat
Windows: "\path1;\path2"
include_path = ".;c:\php\includes;E:\wamp\www\test\Bbcode\"

ale to nic nie dalo ;/ prosze o pomoc
Go to the top of the page
+Quote Post
Avatarus
post
Post #124





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

Ostrzeżenie: (0%)
-----


a jak zrobić zwykłe prasowanie
Kod
<br />

W smf bbcode i html jest mieszane podczas zapisu.
Dzięki za pomoc
Go to the top of the page
+Quote Post
wookieb
post
Post #125





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Musisz wcześniej zamienić "<br />" na znak nowej linii.
Go to the top of the page
+Quote Post
mlawnik
post
Post #126





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

Ostrzeżenie: (0%)
-----


A czy jest możliwość parsowania youtube po samym ID?
@gorzat, użyj patcha Zajeca
Go to the top of the page
+Quote Post
wookieb
post
Post #127





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Tak. W tagu podajesz po prostu tylko jego ID
Go to the top of the page
+Quote Post
mlawnik
post
Post #128





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

Ostrzeżenie: (0%)
-----


No ale jak podaje samo id to mi sie wyswietla ramka z youtubem i tekstem, ze not found.
Fakt, uzylem patcha zejeca i zmienilem player na nowy.
Mozesz pomoc?

Moj kod:

github.com/marcinlawnik/BBcode-parser
Go to the top of the page
+Quote Post
wookieb
post
Post #129





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Jestem kretynem. Mój błąd
W pliku Filter/Youtube.php
zamień linijke
  1. $idMovie = htmlspecialchars($str);

na
  1. $idMovie = htmlspecialchars($bodyStr);

Ja też to potem wrzucę na githuba.
Go to the top of the page
+Quote Post
mlawnik
post
Post #130





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

Ostrzeżenie: (0%)
-----


Poprawione.

Zaraz dorzuce twoje przyklady i zrobie diff na twoim oryginale i mojej modyfikacji.

Ew. po prostu zrobisz forka z mojej wersji.
Go to the top of the page
+Quote Post
wookieb
post
Post #131





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Raczej nie forka. I tak będę wydawał nową wersję.
Go to the top of the page
+Quote Post
mlawnik
post
Post #132





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

Ostrzeżenie: (0%)
-----


Czekam z nieciepliwością.

EDIT: Dla potomnych:

Zawartosc paczki z pierwszego postu:

GitHub

Paczka z pierwszego postu z modyfikacjami:
- patch zajeca
- poprawka w youtube.php taka sama jak w patchu bo zajec ja pominal
- poprawka 2 posty wyzej z $str i $bodyStr

GitHub



Ten post edytował mlawnik 10.04.2011, 19:46:46
Go to the top of the page
+Quote Post
nekomata
post
Post #133





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

Ostrzeżenie: (0%)
-----


Jedna rzecz , czy parser blokuję html'a i XSS czy to już należy do nas?
Go to the top of the page
+Quote Post
wookieb
post
Post #134





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Sam blokuje.
Go to the top of the page
+Quote Post
nekomata
post
Post #135





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

Ostrzeżenie: (0%)
-----


Dzięki , zaoszczędzi mi to trochę włosów na głowie (IMG:style_emoticons/default/tongue.gif) ogólnie świetna sprawa.Myślałeś może o dodaniu tagu "spoiler"?
Go to the top of the page
+Quote Post
wookieb
post
Post #136





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nie planuje, bo jest to zbyt zależne od widoku.
Go to the top of the page
+Quote Post
nekomata
post
Post #137





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

Ostrzeżenie: (0%)
-----


W sumie dzięki takiemu łatwemu do zrozumienia rozpisaniu klasy bardzo łatwo dopisywać tagi. Jakby ktoś chciał tag spoiler z jQuery to ja zrobiłem to tak :
Zaraz po tag'u Quote w pliku Basic.php
  1. ,
  2. 'spoiler'=>array(
  3. 'open'=>'div class="spoiler"><input type="button" value="Spoiler"/><div class="spoiled"',
  4. 'close'=>'div></div'
  5. )
CSS :
  1. .spoiler , .spoiler input {
  2. margin:5px;
  3. border: 1px white dashed;
  4. }
  5. div.spoiler div.spoiled{
  6. display:none;
  7. margin:5px;
  8. }
i w JS
[JAVASCRIPT] pobierz, plaintext
  1. $('.spoiler').children('input').click(function(){
  2. $(this).siblings('.spoiled').toggle();
  3. });
[JAVASCRIPT] pobierz, plaintext
A tak ogólnie mówiąc to ja taki parser bym sprzedawał a nie publikował .. (IMG:style_emoticons/default/biggrin.gif)
EDIT : Pozwoliłem sobie otworzyć tagi spowrotem (IMG:style_emoticons/default/tongue.gif) Ponieważ "domykają" się one w linijce 670,695 i 790 pliku BbCode.class.php (IMG:style_emoticons/default/tongue.gif)

Ten post edytował nekomata 13.04.2011, 19:26:41
Powód edycji: [wookieb]: Pozwoliłem sobie domknąć Ci tagi html
Go to the top of the page
+Quote Post
szczeku
post
Post #138





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 29.08.2010

Ostrzeżenie: (0%)
-----


Cześć,

Na początek napisze, że świetny parser stworzyłeś.

Ale mam dwie kwestie.

1. Zagnieżdzanie tagów, np:

  1. [b]123[/b]

zamienia na:
  1. <b><b>123</b></b>

zamiast na:
  1. <b>123</b>


pomimo iż w filtrze taga 'b' jest :
  1. 'notallowed_child'=>array('b')


inne tagi usuwa, jeśli się je poda jako niedozwolone

2. Chciałbym zrobić tak, żeby nie domykało tagów np. gdy zapomni się napisać [/quote] , to żeby nie robiło cytowania, teraz cytatem jest objęte wszystko do końca. Czy jest jakiś sposób aby tak się działo (a raczej nie działo (IMG:style_emoticons/default/smile.gif) ).

pozdrawiam
Go to the top of the page
+Quote Post
nekomata
post
Post #139





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

Ostrzeżenie: (0%)
-----


@mlawnik popraw tag youtube'a dokładnie mam na myśli linijkę 77 , usuń "allowfullscreen" bo w3c validator krzyczy a nic to allowfullscreen niezmienia bo to nie jest embed tylko iframe.
Go to the top of the page
+Quote Post
wookieb
post
Post #140





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




1) Tak zajmę się tym
2) Niestety raczej nie ma takiej opcji ale racja muszę o tym pomyśleć.
Go to the top of the page
+Quote Post

12 Stron V  « < 5 6 7 8 9 > » 
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:41