Mam mały problem z wyrażeniami regularnymi w preg_match_all.
Otóż pisze sobie funkcję (podam okrojoną wersję):
<?php function fun($string, $cWords = ''){ } $text = 'To jest {dobry|super|wspaniały|cudowny}, przykładowy tekst z różnymi tagami. I c
hciałbym go {wykasowac|wyrzucic|uciąć|wywalić} i dalej i dalej.'; fun($text, 3); $text = 'Był sobie raz {król|królowa|książe|królewna}, którzy żyli sobie w {mieście|króle
stwie|dolinie|górach} i panowali przez 1000 lat.'; fun($text, 3); ?>
moje pytanie brzmi:
czemu dla pierwszego przypadku preg_match_all działa dobrze tzn. wyłapuje wszystkie wyrażenia w zdaniu które są między: {}
i efektem jest tablica
<?php ( ( [0] => {dobry|super|wspaniały|cudowny} [1] => {wykasowac|wyrzucic|uciąć|wywalić} ) ) ?>
zaś dla drgiego przypadku dziala zle tzn. efektem jest błędna tablica:
<?php ( ( [0] => {król|królowa|książe|królewna}, którzy żyli sobie w {mieście|królestwie|dolinie|górach} ) ) ?>

czy można to w prosty sposob naprawic ? prosiłbym bardzo o odpowiedź.