Posiadam w jednej tablicy skupione kody emotikonek oraz adres url prowadzący do nich. Dane mam zgromadzone w ten sposób:
... );
I tutaj podmiana kodów na adresy URL prowadzace do ikonek:
foreach($smilies as $emoticon) { $match = '#(?!<\w)(' . $quoted_emoticon .')(?!\w)#'; }
Problem mam jednak taki z tym wyrażeniem regularnym, że podmienia mi wszystko jak leci, nawet w adresy url wstawiane mam ikonki, np.: "http://onet.pl/". Skrypt w pogrubionym fragmencie wstawia mi ikonę.
Co bym chciał zmienić - chciałbym żeby skrypt wstawiał mi obrazki z emotikonami tylko wtedy, gdy kod tej emotikonki jest oddzielony z obu stron spacjami, przykład:
Cytat
Tutaj wyświetli :--) emotikonę.
lub w przypadku, gdy jest to koniec bądź też początek tekstu, przykład:
Cytat
:--) Tutaj wyświetli emotikonę (emotikona jest na początku tekstu, więc nie ma potrzeby dodawania spacji od lewej strony).
Cytat
Tutaj wyświetli emotikonę (emotikona jest na końcu tekstu, więc nie ma potrzeby dodawania spacji od prawej strony) :--)
W pozostałych przypadkach chciałbym, aby emotikona nie była wyświetlana/zamieniana. Czy ktoś byłby w stanie mi pomóc z tym wyrażeniem regularnym, tak aby spełniło ono moje oczekiwania? Sam nie potrafię sobie z tym poradzić.
Dzięki.