![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 0 Dołączył: 31.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z bbcode na mojej stronie.
Mam skrypt ktory wyswietla na stronie posty z forum. Niestety wiekszosc tagow bbcode nie dziala poniewaz w bazie danych phpbb kazdy tag ma przypisany dziwny ciag znakow np. taki: Kod 51dcb724e4. Calosc wyglada np. tak: Kod [b:aef496628c]pogrubiony tekst[/b:aef496628c] . Co zrobic zeby bbcode dzialal poprawnie?____________________________________________________________________________ Widze ,ze nikt nie wie wiec zadam to pytanie w inny sposob. Oto kod odpowiadajacy za dzialanie tagu "b" na stronie: Kod // bbcode Co zmienic w tym kodzie zeby skrypt wzial pod uwage nie tylko Function bbcode($str){ // usun zbedne $str=htmlspecialchars(trim($str)); // Pogrubiony tekst $str = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $str); // kolejny wiersz $str=nl2br($str); // js $str = preg_replace_callback("#\<(.*?)javascript(.*?)\>#si", "bbcode_js", $str); // wynik return $str;} // anti js Function bbcode_js($str){ if(!eregi('<a href=\"java script:mailto:mail\(\'',$str[0])){ return str_replace('javascript','java_script',$str[0]); }else{return $str[0];}} Kod [b]tekst[/b] ale takzeKod [b:51dcb724e4]tekst[/b:51dcb724e4] ?
Ten post edytował Macok 7.10.2006, 18:09:18 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 102 Pomógł: 1 Dołączył: 26.07.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Z tego co sie dopatrzylem w tym kodzie znacznik jest wyluskiwany przez
Wyrazenie regularne \[b\] oczekuje tylko znacznikow [b] z niczym w srodku, tak wiec nic dziwnego, ze nie reaguje na [b:costam]. Musisz je rozbudowac. Co wiecej, jako ze prawdopodobnie nie wiesz co bedzie po : a musi sie to zamykac identycznym ciagiem czyli [/b:costam] przydadza sie tzw. odwolania wsteczne. Jesli nie masz doswiadczenia z regexpem to zapraszam na calkiem madra stronke : http://grabun.com/wyrazenia-regularne/ napisana jest troche technicznym jezykiem ale jak przebolejesz to wszystko bedzie jasne ![]() Ten post edytował Luciano 10.10.2006, 09:49:10 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
zeby zamienic coś takiego:
Cytat [b:aef496628c]pogrubiony tekst [/b:aef496628c] na coś takiego: Kod <b>pogrubiony tekst</b> potrzebujesz coś takiego:
pozdr. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 01:58 |