Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> bbcode - double quote
lukaszgolder
post 11.03.2009, 14:56:24
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 17
Dołączył: 2.04.2008
Skąd: z Zabrza

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


Mam funkcje, która zamienia bbcode na znaczniki html i odwrotnie.

Fragment z cytowaniem wygląda tak
  1. <?php
  2. $text = preg_replace("#[quote](.*?)[/quote]#si", "<div class=\"cytat\">1</div>", $text);
  3. ?>


Tylko że sypie się w przypadku kilku krotnego cytowania np:
Kod
[quote]aaaa[quote]bbb[/quote][/quote]


Jak zmienić / poprawić tę funkcje, aby to działało.

Ten post edytował lukaszgolder 11.03.2009, 14:59:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
erix
post 11.03.2009, 15:01:09
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Tylko że sypie się w przypadku kilku krotnego cytowania np:

A może powiesz, jak się sypie?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
lukaszgolder
post 11.03.2009, 17:28:41
Post #3





Grupa: Zarejestrowani
Postów: 141
Pomógł: 17
Dołączył: 2.04.2008
Skąd: z Zabrza

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


ze nie zaczyna od środkowego cytatu, tylko od pierwszego z lewej, więc bierze pierwszy quote i wszystko razem z kolejnym quote do pierwszego /quote traktuje jako tekst.

Samo quote już mi działa, ale mógłby mi ktoś pomóc w zrobieniu tak aby działało
Kod
[quote=lukaszgolder]aaa[/quote]


Kod
function parseTagsRecursive($input)
{

    $regex = '#\[quote]((?:[^[]|\[(?!/?quote])|(?R))+)\[/quote]#';

    if (is_array($input)) {
        $input = '<div class="cytat">'.$input[1].'</div>';
    }

    return preg_replace_callback($regex, 'parseTagsRecursive', $input);
}


Ten post edytował lukaszgolder 11.03.2009, 17:29:56
Go to the top of the page
+Quote Post
bim2
post 11.03.2009, 18:08:30
Post #4





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


wywal pytajnik z wyrażenia regularnego smile.gif


--------------------
Go to the top of the page
+Quote Post
lukaszgolder
post 11.03.2009, 20:25:04
Post #5





Grupa: Zarejestrowani
Postów: 141
Pomógł: 17
Dołączył: 2.04.2008
Skąd: z Zabrza

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


Ale to co ja napisałem jest w 100% dobrze. Zalezy mi tylko, aby przerobić tą funkcje aby działało to co ja napisałem i zmienialo na:
  1. <div class="cytat"><span>Tutaj nick</span>tutaj tekst</div>
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: 14.08.2025 - 15:01