Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> bbcode - double quote
lukaszgolder
post
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
lukaszgolder
post
Post #2





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

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 16:14