Jak pobrać określoną ilość znaków z końca ciągu: Różnice pomiędzy wersjami

Z Podręcznik Administratora by OPZ SGU
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 24: Linia 24:
Funkcja przyjmuje jako parametr na przykład nazwisko  Tarkowski
Funkcja przyjmuje jako parametr na przykład nazwisko  Tarkowski


następnie funkcją substr sprawdzamy czy dane ciąg nie zawiera ostatnich 3 znaków o treści "ski". Oznacza to że nazwisko jest w formie męskiej.
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".
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".

Wersja z 01:12, 7 lis 2011

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.

<source lang="php"> function nazwisko_zenskie($wartosc){ $koncowka = substr($wartosc, -3); if($koncowka == 'ski'){ $przetworzone = str_replace($koncowka, "", $wartosc); $nazwisko = .$przetworzone.'ska' return $nazwisko; }else{ return $wartosc; }

} </source>

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