Emotikony i skrypt PHP

Emotikony i skrypt PHP
MO
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:34
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ć?

AK
zapewne sklejasz kwerendę albo coś podobnego. Użyj kwerendy parametrycznej. I pokaż kod
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Poznań
  • Postów:8802
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


edytowany 1x, ostatnio: cerrato
mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
3

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


It's All About the Game.
MO
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:34
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.

edytowany 2x, ostatnio: mordkaje
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 4 godziny
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?


λλλ
edytowany 1x, ostatnio: stivens
mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
2

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


It's All About the Game.
MO
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:34
0

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

Zobacz pozostały 1 komentarz
MO
Jedyne co wystarczyło zrobić to zmienić na utf8mb4 wszędzie gdzie było utf-8 wiec nie ma zbytnio czego pokazywać, ale łapki w górę dałem.
cerrato
na pewno dałeś? popatrz na mój post kilka pięter wyżej :P
MO
nie wiem czemu po odświeżeniu strony znika
MO
ale chyba już ok
cerrato
Tak, dzięki :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.