[preg]quotowanie zagniezdzone

0

Mam takie wyrazenie

#[quote](.*)[/quote]#

ktore zamieniam replacem na ladna tabelke, ale cos jest nie tak, gdy probuje napisac np

0[quote]1[quote]2[/quote]3[/quote]4 to wychodzi

--start--

0

1[quote]2

3[/quote]4

--koniec--

Co moge w tej sytuacji zrobic?

0

Ja bym to zrobił tak, żeby przypisać każdemu [quote] odpowiedni zncznik html, bez wydzielania tekstu ze znaczników:

<?php
  
  $tekst = str_replace('[quote]', '<blockquote>', $tekst);
  $tekst = str_replace('[/quote]', '</blockquote>', $tekst);

?>
0

Ale musi to byc wyrazenie regularne, chodzi o to, ze to co podalem jest odrobine skrocone, normalnie jest [quote=ktos]tekst[/quote]

0

Męczyłem się nad tym kiedyś i powiem Ci jak to zrobić w teorii, sam jeszcze nie dokonczylem tego. Pierwszym wyrażeniem pobierasz wszystko z tych tagów, to znaczy tak:
quote=(.*)[/quote] i to możesz już sobie obrobić graficznie - jest to cytowanie pierwszego stopnia, potem to co zostanie znalezione w drugim polu przekazujesz funkcji, która wykonuje to zapytanie ponownie i tak do czasu aż znajduje się jakieś [/quote] w treści. </php>

0

Ale zauwaz, ze moje wyrazenie zlapalo niewlasciwe elementy

0[quote]1[quote]2[/quote]3[/quote]4

0

No faktycznie, to już supełnie coś nie tak. Może popróbuj coś jeszcze z tymi literkami, ktore sie dodaje po ostatnim #, bo one coś tam znaczą ;)
#[quote](.*)[/quote]#ies ??

1 użytkowników online, w tym zalogowanych: 0, gości: 1