[php][regexp] liczenie powtórzeń

0

Mam na stronie cytowanie wypowiedzi zupełnie tak samo zrobione jak na 4p.

$patterns[] = '#\[quote=(.*?)\]#is';
$replacements[] = '\\1 napisał: <br/><div class="quote">';

$message = str_replace(array('[quote]', '[/quote]'), array('<div class="quote">', '</div>'), $message);

Na wyrażeniach regularnych podobno nikt tego nie umie zrobić aby można było zagnieżdżać cytaty. W ten sposób ktoś może dodać [quote] bez [/quote] i mój xhtmlowy layout strony sie rozpłynie.

Ale jak stworzyć skrypt działający na zasadzie:

a = policz_ile_razy_w_tekscie_jest('[quote'])
b = policz_ile_razy_w_tekscie_jest('[/quote'])

if (a <= b)
zamień a razy [quote] i [/quote] na html
else
zamień b razy [quote] i [/quote] na html

0

a gdy ktoś ci napisze np. tak:

text
[/quote]
text
[quote]
text

to a==b i też będzie źle

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