![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 500 Pomógł: 1 Dołączył: 29.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, zrobiłem na stronie coś na styl forumowych cytatów. Zamieniam tagi przy pomocy preg_replace
Niestety jeżeli jest cytat w cytacie skrypt nie działa poprawnie Przykładowo Kod [quote=asd] [quote=adsa] text [/quote] text [/quote] text Zamienia na Kod <div class="quote">asd:</div><blockquote> [quote=adsa] text </blockquote> text [/quote] text" Jak to poprawić? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Musisz pokombinować z preg_replace_callback, tutaj masz przykład:
Kod public static function parse($str){ if(is_array($str)){ $str= '<div class="quote">'.$str[1].'</div>'; } return preg_replace_callback( '#\[quote]((?:[^[]|\[(?!/?quote])|(?R))+)\[/quote]#', 'Bbcode::parse', $str); } Dostosuj do swoich potrzeb i się podziel (IMG:style_emoticons/default/wink.gif)
Powód edycji: [Spawnm]:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 578 Pomógł: 69 Dołączył: 15.04.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Proponuję się nie meczyć i skorzystać z gotowej klasy:
http://php.net/manual/en/book.bbcode.php Lub ze znalezionego na tym forum skryptu: http://forum.php.pl/index.php?showtopic=13425&hl=bbcode Ten post edytował timon27 1.02.2013, 17:05:33 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 21:07 |