Az utóbbi három hétben a stringekkel foglalkoztunk, ma pedig tovább folytatjuk kalandozásunkat a karakterláncok izgalmas világában.
Eddig bemutattuk a strpos funkciót, mely a stringek pozíciójának meghatározására való. Műveleteket is végeztünk a stringeken, melyek a szövegszerkesztőkben alkalmazott műveletekre emlékeztethették a kezdő programozókat. Cserét végeztünk a stringeken a str_replace funkció segítségével, mellyel rákerestünk egy-egy stringre, majd lecseréltük. Matematikai szempontból is megközelítettük a témát, és a substr_replace funkcióval egy meghatározott számú karaktertől végeztük a cserét.
Mai cikkünkben ismét egy olyan témát fogunk érinteni a stringekkel kapcsolatban, amely a szövegszerkesztők mindenki által ismert funkcióit idézheti. Mivel ismerős témáról van szó, és már a stringek világában is jártas vagy, biztosak vagyunk benne, hogy mai leckénket sem fogod nehéznek találni. Vágjunk bele!
Aki már megpróbálta manipulálni a PHP-stringek kis- és nagybetűit, az biztosan hasznosnak fogja találni mai leckénket. A PHP-nek három olyan funkciója van, amely a kapitalizációhoz kapcsolódik: strtoupper, strtolower és ucwords. A funkciók neve első ránézésre furcsának tűnhet, de ha jobban megnézed őket, láthatod, hogy az angol kifejezésekre utalnak: string to upper, string to lower és uppercase words. Ha használtál már angol nyelvű szövegszerkesztőt, bizonyára tudod, hogy az uppercase a nagybetűkre, a lowercase pedig a kisbetűkre utal. Az uppercase words a szavak nagy kezdőbetűjére utal.
A string nagybetűsre való alakítása — strtoupper
A strtoupper funkciónak egy paramétere van — a string, melyet át akarunk alakítani úgy, hogy minden betűje nagybetű legyen. A funkció fogja a stringet és átalakítja. Csak az ábécé betűi lesznek átalakítva, a számok változatlanok maradnak. Lássunk egy egyszerű példát:
PHP-kód:
$original_string = 'Fun with Strings 1234';
$upper_case = strtoupper($original_string);
echo 'Régi string - ' . $original_string . ' <br />';
echo 'Új string - ' . $upper_case;
Megjelenítés a böngészőben:
Régi string - Fun with Strings 1234
Új string - FUN WITH STRINGS 1234
Mire használhatjuk ezt a funkciót? A strtoupper hasznos lehet, ha szeretnénk hangsúlyozni a szöveg egy fontos részét vagy a címet. Akkor is hasznos lehet, ha olyan betűtípust használunk, amelynek nagybetűi kiválóan mutatnak a weboldal stíluselemeiként.
Van azonban egy sokkal inkább technikai oka is a strtoupper funkció használatának: olyankor lehet hasznos, ha össze akarunk hasonlítani két stringet. Azzal, hogy azonos formára alakítjuk őket, elkerülhetjük annak a lehetőségét, hogy a stringek csak a kapitalizáció miatt nem fognak megegyezni.
A string kisbetűsre való alakítása — strtolower
A strtolower funkciónak szintén csak egy paramétere van — az a string, amelyet át szeretnénk alakítani úgy, hogy minden betűje kicsi legyen. A strtolower funkció átalakítja a stringet. Ebben az esetben is csak az ábécé betűi lesznek módosítva, a számok változatlanok maradnak. Lássunk egy egyszerű példát a strtolower funkcióra is:
PHP-kód:
$original_string = 'Fun with Strings 1234';
$upper_case = strtolower($original_string);
echo 'Régi string - ' . $original_string . ' <br />';
echo 'Új string - ' . $upper_case;
Megjelenítés a böngészőben:
Régi string - Fun with Strings 1234
Új string - fun with strings 1234
Nem túl bonyolult, nem igaz?
A kezdőbetű nagybetűre való alakítása — ucwords
A médiumok gyakran írják nagy kezdőbetűvel a cím minden szavát (főleg az angol nyelvterületen). A PHP kínál egy remek, időtakarékos megoldást erre.
PHP-kód:
$title_string = 'a title in nEED of Some help';
$uc_title_string = ucwords($title_string);
echo 'Régi cím - ' . $title_string . '<br />';
echo 'Új cím - ' . $uc_title_string;
Megjelenítés a böngészőben:
Régi cím - a title in nEED of Some help
Új cím - A Title In NEED Of Some Help
Megfigyelheted, hogy a „nEED” szó esetében csak a kezdőbetű változott meg, a szó többi betűje nagybetű maradt. Ha azt szeretnénk elérni, hogy csak az első betű legyen nagybetű a cím minden szava esetében, akkor a strtolower funkciót hívhatjuk segítségül, melyet az ucwords funkció fog követni. Nézzük, hogyan festene ez a gyakorlatban:
PHP-kód:
$title_string = 'a title in nEED of Some help';
$lowercase_title = strtolower($title_string);
$uc_title_string = ucwords($lowercase_title);
echo 'Régi cím - ' . $title_string . '<br />';
echo 'Új cím - ' . $uc_title_string;
Megjelenítés a böngészőben:
Régi cím - a title in nEED of Some help
Új cím - A Title In Need Of Some Help
Összegzés:
Mai leckénk még egy módszert mutatott arra, hogy szükség szerint módosítani tudjuk a stringeket. Most már kedved szerint váltogathatod a string kis- és nagybetűit, attól függően, hogy mire van szükséged. A ma tanult funkciók egyszerűnek tűnnek, de rengeteg unalmas munkától kímélik meg a programozót, és sok időt takarítanak meg.
NYEREMÉNYJÁTÉK
Rovatunk elsődleges célja, hogy közelebbről is bemutassa a legismertebb webtechnológiákat. Azok között az olvasók között, akik minden héten követik rovatunkat, azaz velünk tanulják a programozás alapjait és kitöltik a feladatsort, a sorozat végén egy laptopot sorsolunk ki.
Heti kérdés:
Néhány szó rólunk:
Az ErdSoft (www.erdsoft.com) 2011-ben alakult meg. Csapatunkat a fiatalos lendület, a szakértelem, a folyamatos tanulás és tapasztalatgyűjtés jellemzi. Ügyfeleinknek igyekszünk teljes körű szolgáltatást nyújtani — bátran fordulhatnak hozzánk, legyen szó webfejlesztésről, alkalmazásokról, SEO-optimalizálásról, grafikai tervezésről, marketingről vagy szövegírásról. Csapatunk sikerét mi sem bizonyítja jobban, mint a több száz elkészült weboldal és a számos elégedett ügyfél Szerbiában, Magyarországon és az Egyesült Királyságban.