![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 3 Dołączył: 31.01.2011 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
Witam dzisiaj
![]() pytanie mam - mam zmienną, która przechowuje imię i nazwisko - nie byloby problemu gdyby ktos np nie podawal dwóch imion, albo mial imie "Ludwik von Bethoven" lub "Castro vel Diana von Schlockenhaus-Mardid" dlatego pytam jak znalezc slowo po ostatniej spacji? Ten post edytował shpaque 16.01.2018, 17:58:18 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Znajdujesz osstatnie wystapienie spacji
http://php.net/manual/en/function.strrpos.php A potem pobierasz wszystko za ta spacja http://php.net/manual/en/function.substr.php -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A ja powiem tak: przechowując w jednej zmiennej imię i nazwisko godzisz się na to, żeby nie było wiadomo, które to imię, a które nazwisko. Co z tego, że jedna pani nazywa się Anna Maria Jopek, skoro druga nazywa się Karolina Korwin Piotrowska (tak, bez myślnika)?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 3 Dołączył: 31.01.2011 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
no na to juz wplywu nie mamy przeciez...
nawet jak robie w formularzu oddzielnie imie i nazwisko zdarzalo sie ze gosc mi wpisywal w plu imie - imie i nazwisko, a w polu nazwisko - nazwisko... takze mialem: "Stefan Krawężnik Krawężnik" |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie tak. Dlatego powinny być osobne pola do podawania tych danych. A jeśli już koniecznie musi być razem, to jakiś żywy człowiek powinien tego doglądać na bieżąco i poprawiać. Widzę to tak: skrypt, który rozdziela automatycznie, jeśli imię istnieje w bazie imion, a nazwisko nie. Jeśli na odwrót, to też automat rozwiązuje jako nazwisko imię. W sytuacjach spornych sprawa nie jest rozwiązana i czeka na klepnięcie od żywego człowieka. Ale serio serio - jeśli masz formularz, to zrób dwa osobne pola (imię i nazwisko) lub trzy osobne pole (pierwsze imię, drugie imię i nazwisko).
Szpaczku - taki błąd użytkownika jest jednak znacznie łatwiejszy do skorygowania. Te osobne pola to nie jest wyprawa na Mount Everest - po prostu jest to lepszy formularz. Inna sprawa, jeśli nie potrzebujesz znać czyjegoś imienia. Wtedy imię i nazwisko w jednym polu jest okej, bo jakkolwiek ktoś się podpisze, stanowić to będzie tylko informację do wglądu. Ten post edytował SmokAnalog 16.01.2018, 18:23:53 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 3 Dołączył: 31.01.2011 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
nie generalnie mi to jest potrzebne do sortowania po naziwsku kiedy mam imie i naziwsko razem ;`) tylko do tego
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
No i w porządku, tylko przygotuj się na całkiem sporo błędów. Sortujesz w tablicy PHP czy w bazie danych? Bo to samo można zrobić bezpośrednio na bazie.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 3 Dołączył: 31.01.2011 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
na szczescie w tablicy php
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Cytat na szczescie w tablicy php zmienisz zdanie jak przyjdzie ci pracowac z wieksza iloscia danych.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 3 Dołączył: 31.01.2011 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
wtedy dam oddzielnie imie i naziwsko tu bede mial finalnie ok 400 osob
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze sposób nr 50
![]() https://3v4l.org/nakiR Ten post edytował trzczy 16.01.2018, 19:17:52 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Jak już robisz wyrażenie regularne, to rób to chociaż jak najprościej. Wystarczy zwykłe preg_match z wzorcem [^\s]+$ - bez nawiasów i innych pierdół.
Ale to nie jest zadanie dla wyrażenia regularnego. Ani nie będzie czytelnie, ani wydajnie. Ten post edytował SmokAnalog 16.01.2018, 19:17:00 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
@SmokAnalog, twój regex można napisać prościej:
\w+$ ale on i tak nie uwzględnia spacji po nazwisku. A do tego funkcja preg_match nie zwraca stringa, tylko integer. Stringa trzeba wyciągać z tablicy. |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Celowo nie zrobiłem \w+$, bo każdy nie-biały znak powinien być uznany za część nazwiska, chociażby po to, żeby zobaczyć w nim śmieci. Tak na logikę.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
To o czym piszesz też można skrócić:
\S+$ zaś to, czy uznać nazwisko z cyfrą w środku, to rzeczywiście do dyskusji. Ten post edytował trzczy 16.01.2018, 19:55:56 |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Tu masz rację, zapomniałem o \S.
![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Pieprzycie Panowie... Najlepszym rozwiązaniem będzie postawienie JVM i odpalenie tego w Elasticsearch a potem obróbka w Pythonie. szybko, łatwo, przyjemnie...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 9.05.2025 - 08:43 |