¦lęczę już nad tym dłuższy czas i jako¶ nie mogę tego przeskoczyć...:/ Mam tekst z synonimami w postaci {synonim1|synonim2|synonim3...} w jakim¶ tek¶cie. I teraz chciałbym znaleĽć w podanym tek¶cie dane synonimy i wybrać z niego jeden losowy. Napisałem do tej pory co¶ takiego:
$tekst = "Lorem Ipsum is simply {synonim1|synonim2|synonim3|synonim4} printing (...) remaining essentially unchanged. It {txt1|txt2|txt3} was popularised (...) software like Aldus PageMaker {synonim1|synonim2|synonim3|synonim4} including versions of Lorem Ipsum."; echo $wynik = preg_replace('/\{synonim1|synonim2|synonim3|synonim4\}/',"<b>". $tab[$los] ."</b>",$tekst);
Tylko w tym przypadku nie jest to to czego bym oczekiwał ponieważ każdy z synonimów jest zastępowany osobno i wychodz± jakie¶ dziwol±gi... Poza tym do każdej grupy synonimów musiałbym zrobić tablicę, losowanie z niej i wyrażenie więc przy 100 tekstach i ponad 1000 synonimów robi się tego dosyć sporo...:/
Próbowałem to wyrażenie nieco zgeneralizować na bardziej ogólne ale niestety wtedy zamienia mi wszystkie synonimy w tek¶cie na jeden losowy z podanej tablicy... Oczywi¶cie powodem tego jest taka konstrukcja jak± napisałem...:
Więc wracaj±c do pierwszego przypadku. W sumie możnaby zrobić od biedy jak±¶ bazę danych z synonimami... Tylko jak konstrukcję z pierwszego zapytania zmusić do tego żeby zamiast takiego wyniku:
Lorem Ipsum is simply synonim3|synonim3|synonim3|synonim3 printing (...) remaining essentially unchanged. It {txt1|txt2|txt3} was popularised (...) software like Aldus PageMaker synonim3|synonim3|synonim3|synonim3 including versions of Lorem Ipsum.
Otrzymywać taki:
Lorem Ipsum is simply synonim3 printing (...) remaining essentially unchanged. It {txt1|txt2|txt3} was popularised (...) software like Aldus PageMaker synonim3 including versions of Lorem Ipsum.
Je¶li macie jaki¶ pomysł na to to proszę o jak±¶ podpowiedĽ. Z góry dzięki i pozdrawiam, Ł