PHP: Rozpoznawanie płci

Dodano: 26 lipca 2010 • 1362 wyświetleń • 5 komentarzy

Dzisiaj pokażę małą funkcję, która rozpozna płeć po imieniu. Nie jest z tym wiele pracy, a przydaje się, kiedy na stronie zwracamy się do użytkownika. Taka funkcja pozwoli m.in. na szybkie wybranie końcówki wyrazu.

Jak już mówiłem, funkcja jest bardzo krótka. Ale najpierw powiem po czym rozpoznajemy płeć. Po tym, że imię kobiety zawsze kończy się na literę "a". W takim razie, potrzebne nam będzie wyrażenie regularne.

function getGender($name) {
	$ex=explode(' ',$name);
	if (preg_match('#(.+?)a$#D',$ex[0])) {
		return 1;
	} else {
		return 0;
	}
}

W tym przypadku kobieta oznaczona jest liczbą 1, a mężczyzna 0. Wynik takiej funkcji można przekazać np. do funkcji, która zajmie się odpowiednim dobraniem końcówki wyrazu bądź znaczka płci przy nicku.

Przedstawię tutaj pierwszy z podanych przeze mnie przykładów użycia naszej funkcji.

function ends($gender) {
	if ($gender==1) {
		$array=array("a","ęła");
	} else {
		$array=array(null,"ął");
	}
	return $array;
}

Jak widzimy, na podstawie wyniku otrzymanego z funkcji getGender, dostaniemy w odpowiedzi tablicę z końcówkami. Wystarczy tylko użyć odpowiedniej. Np. w wyrazie rozpoczęła/rozpoczął, użyjemy drugiej końcówki, która będzie miała indeks 1 w tablicy.

To by było tyle. Mam nadzieję, że się przyda i życzę owocnej pracy w rozwijaniu możliwości funkcji.


Zobacz również:
Komentarze

Jan Pogockistrona wwwMozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8

Bardzo praktyczna funkcja, zamieszczaj więcej takich! ;)

PS. Widzę, że zrezygnowałeś z reCAPTACHA na rzecz własnego tokena. Czyżby reCAPTACHA przepuszczała spam?

26 lipca 2010 o 10:52:49

Kacper Kołodziejstrona wwwMozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4

reCAPTCHA nie przepuszczał spamu, ale był strasznie denerwujący. Poza tym zajmował sporo miejsca na stronie. Teraz jest tylko jedno małe pole, a skuteczność 100% (przetestowane już w innych skryptach pisanych przeze mnie).

26 lipca 2010 o 11:22:01

Jan Pogockistrona wwwMozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8

Aha. Troszkę szkoda, że ten skrypt nie zapamiętuje moich danych: Imię, e-mail, webpage - dlaczego to wycofałeś? Ja starając się szanować prywatność użytkowników dałem to w opcji (jeżeli ktoś jest na nie swoim kompie, to odznacza ją i system nie zapisuje danych). Pozdr. :)

26 lipca 2010 o 14:08:26

Kacper Kołodziejstrona wwwMozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4

Spokojnie. Pracuję nad połączeniem skryptu z IntenseDebate :)

26 lipca 2010 o 15:33:55

Paweł LisMozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729)

Bardzo fajne. Przydałaby się obsługa wyjątków, np Barnaba ;)
Poza tym zazdroszczę ci znajomości wyrażeń regularnych, mi najprostsze zajmuje czasem godzinę :D

16 sierpnia 2010 o 12:44:17

Napisz komentarz

Kacper KołodziejO mnie: Nazywam się Kacper Kołodziej. Jestem uczniem II klasy II LO w Pabianicach o profilu matematyczno-fizycznym. Od 7 lat gram na gitarze. Skończyłem Państwową Szkołę Muzyczną I stopnia w Pabianicach; aktualnie jestem w trzeciej klasie szkoły II stopnia. Oprócz muzyki zajmuję się także tworzeniem stron. Moje prace można obejrzeć w portfolio.

O blogu: Na tym blogu publikuję wszystkie artykuły mojego autorstwa dotyczące programowania, tworzenia stron www, komputerów i internetu, a także muzyki.



© by Kacper Kołodziej 2011 • Code powered by SpawnFramework v.1.5.1 - wersja zmodyfikowana