Jak pobrać określoną ilość znaków z końca ciągu: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
m (Zastępowanie tekstu - "</source>" na "</pre>") |
|||
(Nie pokazano 2 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 6: | Linia 6: | ||
Przykład wykorzystania do zmiany nazwiska na żenskie. | Przykład wykorzystania do zmiany nazwiska na żenskie. | ||
< | <pre> | ||
function nazwisko_zenskie($wartosc){ | function nazwisko_zenskie($wartosc){ | ||
$koncowka = substr($wartosc, -3); | $koncowka = substr($wartosc, -3); | ||
if($koncowka == 'ski'){ | if($koncowka == 'ski'){ | ||
$przetworzone = str_replace($koncowka, "", $wartosc); | $przetworzone = str_replace($koncowka, "", $wartosc); | ||
$nazwisko = ''.$przetworzone.'ska' | $nazwisko = ''.$przetworzone.'ska'; | ||
return $nazwisko; | return $nazwisko; | ||
}else{ | }else{ | ||
Linia 18: | Linia 18: | ||
} | } | ||
</ | </pre> | ||
Opis: | Opis: |
Aktualna wersja na dzień 17:23, 15 lut 2018
Czasem potrzebujemy pobrać określona ilość znaków z końca ciągu w celu choćby odmiany przez przypadki.
Możemy wykorzystać do tego funkcje substr która potrafi również przyjmować argumenty ujemne :)
Przykład wykorzystania do zmiany nazwiska na żenskie.
function nazwisko_zenskie($wartosc){ $koncowka = substr($wartosc, -3); if($koncowka == 'ski'){ $przetworzone = str_replace($koncowka, "", $wartosc); $nazwisko = ''.$przetworzone.'ska'; return $nazwisko; }else{ return $wartosc; } }
Opis:
Funkcja przyjmuje jako parametr na przykład nazwisko Tarkowski
następnie funkcją substr sprawdzamy czy dany ciąg nie zawiera ostatnich 3 znaków o treści "ski". Oznacza to że nazwisko jest w formie męskiej.
Na kolejnym etapie jeśli ciąg je zawiera to funkcją preg_replace usuwamy je z ciągu i na koniec tworzymy żeńską odmianę przez dodanie "ska" na końcu tego co pozostało po osunięciu "ski".
W przypadku gdy ciąg nie ma formy męskiej funkcja zwraca "pierwotną" wersje spowrotem