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
m (Zastępowanie tekstu - "source lang="php"" na "pre")
m (Zastępowanie tekstu - "</source>" na "</pre>")
 
Linia 18: Linia 18:


}
}
</source>
</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