Az alábbiakban a leggyakrabban használt szövegkezelő függvényeket fogjuk tárgyalni és példákat is mutatok rájuk.
strlen(string $txt): int - A string hosszát adja vissza
strtolower(string $txt ) : string - A paraméter string kisbetűs változatát adja vissza.
strtoupper(string $txt ): string - A paraméter string nagybetűs változatát adja vissza
trim( $txt ): string - A string elejéről és végéről leszedi a whitespace karaktereket. Sajnos az és ehhez hasonlóakat nem! pl.
$txt = " Hello! ";
$txt = trim($txt); //eredménye "Hello!"
Az ltrim() - balról vágja csak le a whitespace-eket, az rtrim() pedig jobbról! A paraméterezés ugyanaz
substr($txt, $honnan, $hossz): string - A paraméterként megadott stringből kivágja a $honnan által megadott helytől számított $hossz számú karaktert és adja vissza.
Megjegyzések:
- A $txt első karaktere a 0. karakter.
- Ha a $hossz paraméter nem létezik, akkor a szöveg végéig adja vissza a szöveget
- Ha $honnan negatív, akkor az utolsó karaktertől számítunk visszafelé annyi karaktert, amekkora a szám.
- Ha a $hossz negatív, akkor a string végétől visszaszámolunk annyi karaktert, és az elejétől, vagy a honnan által megadott helytől kezdődő stringet adja vissza.
$rest = substr("abcdef", 0, -1); // returns "abcde"
$rest = substr("abcdef", 2, -1); // returns "cde"
$rest = substr("abcdef", 4, -4); // returns false
$rest = substr("abcdef", -3, -1); // returns "de"
str_replace($mit, $mire, $szoveg [, $db] ): string - A $szoveg stringben (vagy tömbben) megkeresi a $mit értéket és kicseréli a $mire értékre.
- Ha a $szöveg tömb, akkor a cserék a tömb összes elemére lefutnak.
- A $mire és a $mire lehet tömb is. Ekkor A $mit tömb megfelelő elemét cseréli a $mire tömb megfelelő elemére. Ha a $mire kevesebb elemből áll, akkor a maradékot üres stringre cseréli
- Ha a $db meg van adva, akkor annyiszor cserél, amennyi a szám értéke, egyébként az összes előfordulást cseréli.
Példa: Egy string elérési útvonalat tárol.
- Az útvonal végére mindenképpen '/' jelet kell tenni, még akkor is ha ott nincsen.
- A '\' jeleket át kell alakítani '/'
$path = "C:\\valami/alkonyvtar\\file_tarolo";
$path = str_replace('\\','/',$path); //Kicseréli az összes '\\' jelet '/' jelre
if(substr($path,-1) !="/") $path .= "/"; //Végére kerül egy '/' jel, ha nincsen ott
str_ireplace() - ugyanaz, mint az str_replace(), de kisbetű/nagybetű független
str_contains($szoveg, $keresendo): bool - A $szoveg-ben létezik-e a keresett szövegrész. Ha létezik, a visszaadott érték True, különben False
explode($elvalaszt, $szoveg, $limit): array - az $elvalaszt változóval megadott helyen vágja szét a $szöveg-et annyi darabra, amennyi a $limit paraméterrel meg van adva. Ha a $limit 0, akkor csak egyszer vág, azaz két részre vágja a szöveget. Ha $limit negatív, akkor az utolsó $limit darabot nem vágja szét.
<?php
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
print $pieces[0]; // piece1
print $pieces[1]; // piece2
?>
implode($elvalaszto, array $szovegek) : string - A $szovegek tömb elemeit az $elválasztó jelet közé téve egy stringet állít elő.
chr(code): string - egy karakter hosszú stringet állít elő a karakter ASCII kódjából.
crypt($szoveg, [$so]): string - A Unix DES algoritmusát felhasználva elkódol egy stringet. A $so paramétert arra szokás használni, hogy nehezítse a visszafejtést, de nem kötelező, de ekkor könnyebb lesz a kódot visszafejteni.
password_hash($szoveg, $alg, $options): string - Egy elkódolt jelszóval tér vissza. Kompatibilis az crypt() függvénnyel, de jobb kódot ad vissza. Egy irányú kódolás, tehát az adatbázisban az elkódolt jelszót használják és amikor a beírt jelszót kell ellenőrizni, akkor azt is elkódolják és így hasonlítják össze az adatbázisban lévő tárolt jelszóval.
strpos($szoveg, $keresett[, $honnan] ): int - A $szoveg-ben keresi a $keresett string első előfordulását. Ha a $honnan paraméter meg van adva, akkor átlépi az első megadott számú karaktert és csak utána keres.
A visszaadott érték az első előfordulásnak a string elejétől számított karakterek száma. Ha a keresett string a teljes szöveg elején van, akkor a visszaadott érték 0. Ha nincsen a keresett string, akkor a visszaadott érték a false. Mivel a két érték összekeverhető, ezért a === összehasonlító operátort kell használni.
if(0 === strpos("szöveg", "sz")){
echo "Az elején van a szöveg";
}
strrpos() - a szöveg végéről kezdi a keresést. Ugyanezek kis/nagybetű érzéketlen módon: stripos(), strripos()
ord($char) : int - Visszaadja a karakter ASCII kódját. Ha a paraméter string, akkor az első karakter ASCII kódját adja vissza.
htmlentities($szoveg, $opcio) :string - A stringben lévő TAG-ek és más speciális karaktereket elkódol html entity-vé. &hexakód; alakúak lesznek a speciális karakterek.
Ez ugyanaz, mint a htmlspecialchars() függvény.
html_entity_decode($szoveg, $opciok): string - visszakódolja az eredeti formára az elkódolt stringet.
strip_tags($szöveg [, $kivagandok]): string - A függvény kivágja a szövegből a html és PHP tag-ek kódját. ha a kivágandót egy tömbben adjuk meg, akkor még azokat is kivágja.
str_pad($txt, $hossz [,$kiegeszit]): string - Kiegészíti a szöveget a megadott hosszúságra a megadott $kiegészít stringgel. A $kiegeszit nem kötelező, akkor az alapértelmezett értéke a szóköz.
<?php
$input = "Alien";
print str_pad($input, 10); // produces "Alien "
print str_pad($input, 10, "-=", STR_PAD_LEFT); // produces "-=-=-Alien"
print str_pad($input, 10, "_", STR_PAD_BOTH); // produces "__Alien___"
print str_pad($input, 6 , "___"); // produces "Alien_"
?>
A stringekkel kapcsolatos összes függvény leírása itt található: https://www.php.net/manual/en/ref.strings.php