![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Pracuję nad wykonaniem komunikatora i aktualnie chcę ulepszyć funkcję, którą już mam do zamieniania tekstu (np.':D') na emotikonę. Oczywiście użyłem str_replace tak jak to już było kilkakrotnie pokazywane w innych tematach na tym forum. Jednak chciałbym, aby funkcja brała pod uwagę takie przypadki jak .np: -"costam:D" -"costam:Dcostam" -":Dcostam" czyli miejsca gdzie emotikona w stringu łączy się z tekstem, tam chciałbym, aby nie wykonywała się zamiana. Zamiana może się wykonywać tylko wtedy gdy po obu stronach emotikony jest albo dowolna ilość spacji (lub innych białych znaków) albo nic. Wiem, że do tego celu można wykorzystać funkcję preg_match i wyrażenia regularne. Ktoś mógłby pomóc w stworzeniu odpowiednich warunków? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 33 Dołączył: 8.09.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował borabora 8.01.2015, 14:19:21 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
http://stackoverflow.com/questions/5701632...n-for-emoticons Tutaj też masz kompletne wyrażenie regularne. To z pierwszego posta (po edycji).
-------------------- > > > Tworzenie stron < < <
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
borabora skrypt jest ok, ale zamiana nie działa w ogóle przypadku niektórych emotikon np. ':D', ':P'. Chyba ma to związek z literą alfabetu w emotikonie, ale pewności nie mam. Pozostałe działają ok.
inSane czy chodzi o wyrażenie (?<=\s|\A|\n|\r|\t|\v|\<br \/\>|\<br\>)(:S)(?=\s|\Z|$|\n|\r|\t|\v|\<br \/\>|\<br\>) ? W sumie to nie wiem jak mam tego użyć w warunku Ktoś ma jakiś pomysł? Ok udało mi się. Tak więc moja funkcja wygląda następująco:
Teraz spełnia te warunki o których pisałem wyżej Ten post edytował mike89 9.01.2015, 19:46:27 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 8.07.2025 - 08:45 |