Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> BBcode w phpbb3 problem z dostosowaniem do CMS
3502274
post 2.05.2008, 11:57:34
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 30.04.2008

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


Witam,

mam następujący problem:

Używam forum phpbb3 i mam CMS ktory jako newsy pobiera posty z konkretnych działów na forum. Do tego momentu wszystko działa bez zarzutu, jest jednak prolbem z BBcode. Forum phpbb3 uzywa zmienionych niestandardowych bbcodów. DO każdego BBcode dopisuje jakies uid nie wiem jeszcze po co, ale nie w tym rzecz. Mój plik do obsługi bbcode (zamieszczozny w załączniku) nie potrafi sobie poradzić z tymi nowymi bbcodami. Prosiłbym was o wskazówki jak mam sobie z tym poradzić. Najtrudniejsze są te tagi z parametrami takie jak url, img itp. Będę bardzo wdzięczny za waszą pomoc...

Załącznik:
- www.projektgryok.home.pl/bbcode.rar

Ten post edytował 3502274 2.05.2008, 11:59:26
Go to the top of the page
+Quote Post
devnul
post 2.05.2008, 13:26:11
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


jeśli dobrze rozumiem to chodzi Ci o coś w stylu
Kod
[b:8b97af6]tekst[/b:8b97af6]
jeśli tak to taki "bajer" byl także obecny z tego co wiem w phpBB2 i hash/kod zawarty jest w tabeli z postami (dla każdego posta jest on indywidualnie generowany)


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
webdice
post 2.05.2008, 13:33:24
Post #3


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




  1. <?php
  2. $str=preg_replace_callback("#[php:?([a-z0-9]+)?](.*?)[/php:?([a-z0-9]+)?]#si", "bbcode_phpCode", $str);
  3. ?>


Pierwszy lepszy przykład z Twojego skryptu. Tak zachowasz kompatybilność ze stara i nową wersją.
Go to the top of the page
+Quote Post
devnul
post 2.05.2008, 13:42:40
Post #4





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


jeśli już to
  1. <?php
  2. $str=preg_replace_callback("#[php(:[a-z0-9]+)?](.*?)[/php(:[a-z0-9]+)?]#si", "bbcode_phpCode", $str);
  3. ?>

bo tak może wystąpić sytuacja że mamy kod w postaci [b:] lub [b123456] i takie coś zadziała - mimo że nie powinno


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
webdice
post 2.05.2008, 13:50:08
Post #5


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Mój kod zadziała dla:

Kod
[b]
[b:]
[b:a1b2c3]


Innych możliwości wystąpienia znacznika nie ma. I nie ma się co tu rozchodzić czy przez mało prawdopodobny błąd wystąpi znacznik typu:

Kod
[ba1b2c3]
Go to the top of the page
+Quote Post
devnul
post 2.05.2008, 14:04:30
Post #6





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


parser bbcode nie wyłapuje znaczników w stylu [b:] ani [b1234] więc każdy dodany w ten sposób do tekstu znacznik nie zostanie zamieniony na odpowiednik HTML. tak też powinno być w innych przypadkach, w Twoim przykładzie tak się nie stanie. hipotetyczna sytuacja. ktoś opisuje partie szachów i konkretne pola wstawia w nawiasy [b1] [b2] itd. Twój parser to wyłapie i zastąpi znacznikiem html, a nie powinien.


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
Avatarus
post 2.05.2008, 14:31:56
Post #7





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

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


razem z kolegą używamy tego samego pliku BBcode.
Mam jednak problem z przystosowaniem znacznika list

wpisuje tak:
  1. <?php
  2. $str = preg_replace("#[list(:[a-z0-9]+)?](.*?)[/list(:[a-z0-9]+)?]#si", "<ul>2</ul>", $str);
  3. ?>

no ale coś nie chce działać skrypt w ogóle nie bierze tego znacznika i wyświetla go na stronie tak:
  1. <?php
  2. [list:2mutmbcl]1.Gdy gracz zaatakuje lub stanie obok bossa gra si? sypie: Naprawione[/list:u:2mutmbcl]
  3. ?>



Edit Problem rozwiązany, musiałem wywalić bbcode żeby dokładnie zobaczyć co było w tym poście i na końcu był jeszcze ten hash. Poprawiłem i działa.

Mam jednak problem z url. Mam taki znacznik:
  1. <?php
  2. [url=http://www.solidstatenetworks.com/demos/acclaim/2moons_downloader_us_3-27-2008.exe:1y68i9og]POBIERZ TUTAJ![/url:1y68i9og]
  3. ?>


Jak przystosować go do tego wszystkiego?
Próbuje:
  1. <?php
  2. $str = preg_replace("#[url=http:(.*?):?([a-z0-9]+)?](.*?)[/url:?([a-z0-9]+)?]#si", "<A HREF=\"2\" TARGET=\"_blank\">4</A>", $str);
  3. ?>
ale nie działa...

Macie jakieś rady?

Ten post edytował Avatarus 2.05.2008, 15:48:28


--------------------
Go to the top of the page
+Quote Post
3502274
post 13.05.2008, 15:53:05
Post #8





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 30.04.2008

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


Mineło parę dni i niestety dalej nie mozemy uporać się z problemem tych URL...

konkretnie gdy user używa opcji URL=TEKST czyli

Kod
[url="link"]nazwa linku[/url]


kod w bbcode jak w poście wyżej...

Kod
<?php
[url=http://www.solidstatenetworks.com/demos/acclaim/2moons_downloader_us_3-27-2008.exe:1y68i9og]POBIERZ TUTAJ![/url:1y68i9og]
?>


Kod
<?php
$str = preg_replace("#\[url=http:(.*?):?([a-z0-9]+)?\](.*?)\[/url:?([a-z0-9]+)?\]#si", "<A HREF=\"\\2\" TARGET=\"_blank\">\\4</A>", $str);
?>


ale nie działa... :/
Go to the top of the page
+Quote Post

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: 15.07.2025 - 07:15