
Tak więc mam oto, taką metodę w modelu w kohanie, choć to akurat nieistotne.
class Model_Post extends ORM { ); public function replace_songs() { $pattern = '[\[piosenka tytul="(.*)" wykonawca="(.*)"\]]is'; $replacer = '<a href="\1">\1</a> - <span>\2</span>'; } } ?>
rzecz w tym że metoda ta ma na celu wyciągnięcie jak gdyby z czegoś w stylu BBCODE tytułu i autora piosenki. I generalnie rzecz biorąc skrypt działa poprawnie jeżeli mam tylko jeden taki kod. Czyli np. z fragmentu
Cytat
To może być [piosenka tytul="Jakiś tytuł" wykonawca="Wykonawca"], a przynajmniej tak sądzę.
elegancko wyciągnie wyrażenie i zapisze mi prawidłową wartość, problem pojawia się gdy mam dwa takie kody lub więcej, np.
Cytat
To może być [piosenka tytul="Jakiś tytuł" wykonawca="Wykonawca"], a przynajmniej tak sądzę, ale może to też [piosenka tytul="Inny tytuł" wykonawca="Inny Wykonawca"].
to parsuje się tylko część pierwszego kodu, a cała reszta się psuje.
Wiecie może jak powinno wyglądać prawidłowe wyrażenie, lub może błąd jest w innym miejscu, będę wdzięczny za każdą odpowiedź
