Emotikony i skrypt PHP

0

Witam mam pewien problem związany z emotikonami. Obecnie stworzyłem skrypt używając ts3 framework php, który uruchamia się co 5min i zlicza ile kto spędził czasu na serwerze tworząc potem ranking. Pobieram nicki osób obecnych, skrypt sprawdza, czy dany nick jest już w bazie. Jeżeli jest to dodaje mu 5 min przebytego czasu, jeżeli nie to tworzy nowy rekord w bazie. (wiem, że nie jest to idealne rozwiązanie). Problem pojawia się jeżeli ktoś ma nick zawierający emotikony. Wtedy cały mój skrypt wariuje i nie da się nazwy takiej osoby zapisać w bazie. Dlatego mam pytanie czy da się jakoś usunąć te emotikony? np. jedna osoba ma taki nick []💕⚡PatЯiX⚡ 1221💕NL i jak te serca zapisać w bazie albo je jakoś wyrzucić? Próbowałem str_replace ale jak skopiowałem to serce, czy pioruny to nie zadziałało, a żadnego kodu tych znaków nie widzę. Co z tym zrobić?

1

Rzuć okiem na https://stackoverflow.com/questions/12807176/php-writing-a-simple-removeemoji-function

Tylko musisz pamiętać, że usuwając emotki może dojść do sytuacji, w której różne nicki stana się identyczne, jeśli wcześniej różniły się tylko emotkami. Przykładowo "Stefan EMOTKA" oraz "EMOTKA Stefan" na razie się różnią, ale po usunięciu emotki obaj będą "Stefanem".

Zamiast tego, lepiej się zastanów, czemu tych emotek nie umiesz poprawnie obsługiwać. Inna rzecz, na którą powinieneś rzucić okiem - https://stackoverflow.com/questions/48203654/php-string-to-insret-emoji-in-database

3

a co ci da zliczanie po nickach jak nick można sobie co sekundę zmieniać? Zapewne masz tam jakieś identyfikator. Jego zliczaj.

0

Większość osób ma taki sam nick na ts jak w grze i go nie zmieniają. Często część osób loguje się z różnych komputerów, gdzie mają inną tożsamość, ale id też zbieram.

1

TS3 wyswietla tez ile kto siedzi na serwerze w danej sesji. Moze jest jakis event User::onLeft i mozna by po wyjsciu z serwera dosumowac czas?

2

to zamiast trzymać nick, generuj sobie hasha na jego podstawie i tego hasha zapisuj, najprostszy md5 wystarczy.

0

Dzięki za odpowiedzi. Udał się lepszy wariant, czyli obsługa tych emotikon.

1 użytkowników online, w tym zalogowanych: 0, gości: 1