Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

12 Stron V  « < 9 10 11 12 >  
Reply to this topicStart new topic
> [klasa] Zaawansowany parser bbcode (php5), advanced bbcode parser
boro11
post 3.04.2013, 20:38:54
Post #201





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

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


Witam!
Od jakiegoś czasu używam Twojego parsera i jestem z niego bardzo zadowolony, ale mam jeden problem.

Podczas kopiowania tekstu zachowuje się jego formatowanie np. tekst:
Cytat
Hello Vic!
Website status is updated during refback adding so just wait till we get payment from that website. Your clicks is counted even if your status is "Pending" so don't worry you will be paid for each click you made.

Thank you for choosing RefbackBank.com and have a wonderful day. If you have any questions, please contact us at any time.

Best regards,
Boro
https://www.refbackbank.com


Skopiowałem ze swojego sytemu helpdesk, po wklejeniu na forum otrzymałem:

Cytat
Hello Vic!
[*font="Verdana Geneva Arial Helvetica sans-serif"]Website status is updated during refback adding so just wait till we get payment from that website. Your clicks is counted even if your status is \"Pending\" so don\'t worry you will be paid for each click you made.[/font]

[*font="Verdana Geneva Arial Helvetica sans-serif"]Thank you for choosing RefbackBank.com and have a wonderful day. If you have any questions, please contact us at any time. [/font]

[*font="Verdana Geneva Arial Helvetica sans-serif"]Best regards, [/font]
[*font="Verdana Geneva Arial Helvetica sans-serif"]Boro[/font]
[*font="Verdana Geneva Arial Helvetica sans-serif"]https://www.refbackbank.com[/font]


Poszukałem trochę i znalazłem opcje $removeInvalidTags - która jest domyślnie ustawiona na true ( i jest tak u mnie) co powinno zlikwidować problem tagów które nie istnieją, jednak mimo wszystko pojawiają się one. Co można zrobić żeby temu zaradzić zakładając, że nie chce dać możliwości zmiany czcionki użytkownikom?


Ps. Oczywiście znaków * nie ma, ale je dodałem bo to forum tego problemu nie ma jak się okazuję i zmienia na inne fonty smile.gif

Ten post edytował boro11 3.04.2013, 20:41:41
Go to the top of the page
+Quote Post
wookieb
post 3.04.2013, 21:16:28
Post #202





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 w parserze. Poprawione - wersja na githubie smile.gif


--------------------
Go to the top of the page
+Quote Post
boro11
post 3.04.2013, 22:20:49
Post #203





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

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


Teraz działa idealnie dziękuję smile.gif
Go to the top of the page
+Quote Post
Lirdoner
post 19.04.2013, 12:15:08
Post #204





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

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


Witam, chciałbym aby jeżeli tekst odnośnika do strony jest dłuższy niż 100 znaków to pojawiały się tylko 20 pierwszych znaków, następnie ... i końcowe 20 znaków.
Jak to zmienić w parserze?
Go to the top of the page
+Quote Post
wookieb
post 19.04.2013, 17:08:48
Post #205





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




https://github.com/wookieb/bbcode/blob/mast...Filters/Url.php
Metoda shortUrl


--------------------
Go to the top of the page
+Quote Post
benzulli
post 18.01.2014, 23:49:44
Post #206





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


Witam,

Jak mogę to umieścić na swojej stronie? Chciałbym tak zrobić, żeby można było bbcode używać przy dodawaniu newsa, już cały skrypt gotowy, tylko jak to tam wsadzić?
Go to the top of the page
+Quote Post
wookieb
post 19.01.2014, 07:13:58
Post #207





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




Musisz zastosować parser bbcode przy zapisie aby zastąpić oryginalną treść newsa treścią z parsera. Przykład jak wykorzystać parser jest podany na 1 stronie tematu oraz w repozytorium.


--------------------
Go to the top of the page
+Quote Post
benzulli
post 19.01.2014, 13:24:40
Post #208





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


  1. <form action="" method="post">
  2. <select name="id_profesji">
  3. <?php
  4. include("polacz.php");
  5. $results = mysql_query("SELECT id, profesja FROM profesje");
  6. while($id_profesji = mysql_fetch_array($results))
  7. {
  8. ?>
  9. <option value="<?php echo $id_profesji[0]; ?>">
  10. <?php echo $id_profesji[1]; ?>
  11. </option>
  12. <?php
  13. }
  14. ?>
  15. </select><br />
  16. Tytuł<br />
  17. <input type="text" name="tytul" /><br />
  18. Level:<br />
  19. <input type="text" name="level" /><br />
  20. Wersja:<br />
  21. <input type="text" name="version" /><br />
  22. Ostatnia aktualizacja: <br />
  23. <input type="text" name="last_update" /><br />
  24. Video: <br />
  25. <input type="text" name="video" /><br />
  26. Treść: <br />
  27. <textarea name="tresc"></textarea>
  28. <input type="submit" value="Dodaj" />
  29. </form>
  30. <?php
  31. $tytul = $_POST['tytul'];
  32. $level = $_POST['level'];
  33. $version = $_POST['version'];
  34. $last_update = $_POST['last_update'];
  35. $video = $_POST['video'];
  36. $id_profesji = (int)$_POST['id_profesji'];
  37. $tresc = $_POST['tresc'];
  38. if($_SERVER['REQUEST_METHOD'] == 'POST')
  39. {
  40. $query = mysql_query("INSERT INTO skrypty SET tytul='$tytul', level='$level', version='$version', last_update='$last_update', video='$video', id_profesji='$id_profesji', tresc='$tresc'");
  41. if($query) echo "Poradnik został dodany poprawnie";
  42. else echo "Błąd, nie udało się dodać nowego poradnika";
  43. }
  44. ?>


Mam taki kod, on jest odpowiedzialny za dodanie nowego newsa. Pytam bo nie wiem, czytam już trzeci raz i nie wiem co i jak do czego. Mam po prostu zaincludować na samą górę plik bbcode.php?
Go to the top of the page
+Quote Post
wookieb
post 19.01.2014, 14:02:16
Post #209





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




Najpierw naucz się programować. Koniec dyskusji.


--------------------
Go to the top of the page
+Quote Post
benzulli
post 15.02.2014, 21:36:58
Post #210





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


Witam, poradziłem sobie z tym już jakiś czas temu, lecz teraz tak naprawdę zacząłem używać tabeli. Firebug w ogóle nic nie wykazuje, usunąłem cały styl pliku i nadal występuje błąd: nad tabelą pozostaje jakies 500-600px wolnego miejsca. Próbowałem to zmienić margin-top:-500px, ale jest to rozwiązanie niestabilne, bo czasami tabela rozszerza się na większą odległość.

Dodałem to do basic.php

  1. 'table' => array(
  2. 'open' => 'table',
  3. 'close' => 'table',
  4. 'notallowed_child' => array('table')
  5. ),
  6. 'tr' => array(
  7. 'open' => 'tr',
  8. 'close' => 'tr',
  9. 'notallowed_child' => array('tr')
  10. ),
  11. 'td' => array(
  12. 'open' => 'td',
  13. 'close' => 'td',
  14. 'notallowed_child' => array('td')
  15. ),


A taką formę ma mój kod html, który jest potem parsowany:

  1. [table]
  2. [tr]
  3. [td]asdasdas[/td]
  4. [td]adadasdas[/td]
  5. [td]asdasteretrr34[/td]
  6. [/tr]
  7. [tr]
  8. [td]3333[/td]
  9. [td]sawe[/td]
  10. [td]asaa[/td]
  11. [/tr]
  12. [/table]
  13.  


Kiedy dodam tabelkę bez zdjęć odstęp od góry też występuje.

Ten post edytował benzulli 15.02.2014, 21:37:35
Go to the top of the page
+Quote Post
com
post 15.02.2014, 21:41:34
Post #211





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

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


pokaż to na przykładzie, bo wrzuciłeś jakieś fragmenty które niczego nie obrazują.. najlepiej link albo jsfiddle
Go to the top of the page
+Quote Post
benzulli
post 15.02.2014, 21:58:02
Post #212





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


  1. blablablablabla 1231231313123123123 test
  2. <?php
  3. require_once 'Bbcode/BbCode.php';
  4. $tresc = '[table]
  5. [tr]
  6. [td]asdasdas[/td]
  7. [td]adadasdas[/td]
  8. [td]asdasteretrr34[/td]
  9. [/tr]
  10. [tr]
  11. [td]3333[/td]
  12. [td]sawe[/td]
  13. [td]asaa[/td]
  14. [/tr]
  15. [/table]';
  16. $parser = new BbCode();
  17. echo $parser->parse($tresc); ?>
  18. blablablablabla 1231231313123123123 test


http://renzulli.linuxpl.info/images/parser.php

Tutaj akurat nie ma zbytnio dużego odstępu, jedynie 230px, ale jeśli dam więcej kodu to wtedy występują większe odstępy - nie mam pojęcia dlaczego.

Ten post edytował benzulli 15.02.2014, 21:59:36
Go to the top of the page
+Quote Post
com
post 15.02.2014, 22:08:05
Post #213





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

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


Źródło prawdę Ci powie, nwm co to za parser ale coś w nim jest nie tak wink.gif
  1. blablablablabla 1231231313123123123 test
  2. <table><br />
  3. <tr><br />
  4. <td>asdasdas</td><br />
  5. <td>adadasdas</td><br />
  6. <td>asdasteretrr34</td><br />
  7. </tr><br />
  8. <tr><br />
  9. <td>3333</td><br />
  10. <td>sawe</td><br />
  11. <td>asaa</td><br />
  12. </tr><br />
  13. </table>blablablablabla 1231231313123123123 test
Go to the top of the page
+Quote Post
benzulli
post 15.02.2014, 23:49:37
Post #214





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


Wiem co jest nie tak - po prostu każde przeniesienie do nowej linijki to <br />. Zatem będę musiał tabelki pisać bez przeniesień do nowych linijek.
Go to the top of the page
+Quote Post
com
post 16.02.2014, 00:39:59
Post #215





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

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


tak ale wgl poco Ci to br tu? przecież jego to się rzadko w obecnych czasach używa do łamana tekstu, akapity wyznaczasz znacznikiem <p>, a br to ostateczność..
Go to the top of the page
+Quote Post
benzulli
post 16.02.2014, 00:43:52
Post #216





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


Właśnie go nie chcę, a to jest w parserze ustawione, że po złamaniu linii w bbcode dodaje <br>. Ja dodałem bbcode tabeli ręcznie. Chciałbym się tego pozbyć.
Go to the top of the page
+Quote Post
com
post 16.02.2014, 00:59:31
Post #217





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

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


no to warunkiem sprawdzaj czy jesteś w tabeli jeśli tak no to nie dodajesz br jeśli nie no to tak jak było wink.gif

albo stwórz oddzielna metodę do generowana tabelek najlepiej wink.gif

Ten post edytował com 16.02.2014, 01:00:27
Go to the top of the page
+Quote Post
benzulli
post 16.02.2014, 08:59:28
Post #218





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


Dzięki, po prostu zastosuję preg_replace do tych 6 znaków i po problemie.

@edit
Niestety, po zastosowaniu preg_replace dalej występuje ten błąd. Wgrywałem inne parsery, ale część nie ma tabelek, a w innych to same błędy wyskakują.

Ten post edytował benzulli 16.02.2014, 10:54:29
Go to the top of the page
+Quote Post
pionas
post 17.02.2014, 09:03:54
Post #219





Grupa: Zarejestrowani
Postów: 70
Pomógł: 2
Dołączył: 25.03.2009
Skąd: Pionki

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


I ja podepnę się do tematu..

ckeditor z wtyczką bbcode tworzy list na takiej zasadzie:
[_list=1]
[_*]Aaaaaaaa
[_*]Bbbbbbbb
[_*]Ccccccccc
[_/list]
(jeśli ma być numerowane)

lub wypunktowanie
[_list]
[_*]Aaaaaaaa
[_*]Bbbbbbbb
[_*]Ccccccccc
[_/list]
jak to dostosować do dodatku List.php?

Dodałem _ bo tutaj działa takie parsowanie...


--------------------
Organizujesz konkurs? Chcesz coś wygrać? Wejdź na www.e-Konkursy.info :)
Go to the top of the page
+Quote Post
sazian
post 22.06.2014, 21:51:14
Post #220





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


kiedyś przerabiałem ten problem z listami
może komuś się przyda https://www.dropbox.com/s/n9ti8d57mgr0ly3/plugin.js?dl=1 teraz ck będzie zamykał tagi w listach, nie pamiętam co tam zmieniałem żeby działało więc musicie szukać sami smile.gif
wydaje mi się chodzi o to
Kod
this.setRules('*', {
                        breakBeforeOpen: 1,
                        breakAfterOpen: 0,
                        breakBeforeClose: 0,
                        breakAfterClose: 1
                    });

ale pewności nie mam
Go to the top of the page
+Quote Post

12 Stron V  « < 9 10 11 12 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 14:04