V dnešním díle si povíme o funkcích, které nám značně ulehčí práci při zpracovávání řetězců (textových hodnot). Nyní si ukážeme ty nejpoužívanější funkce.
addslashes( <text> )
Pomocí této funkce můžeme převést některé znaky, kterými mohou být uvozovky (", ') a zpětná lomítka (\) do podoby, kterou budeme vyžadovat například při ukládání do databáze, výpisu na stránce atd.
Příklad:
// Do proměnné $text uložíme řetězec s uvozovkami. $text = 'Jeho jméno je "Ivan"'; // Výsledkem bude Jeho jméno je \"Ivan\". echo addSlashes($text);
chr( <číslo> )
Tato funkce vrátí specifický ASCII znak nacházející se na zvolené číselné pozici. ASCII tabulky znaků naleznete na adrese http://www.asciitable.com/ nebo zde a zde.
Příklad:
// Výsledkem bude znak zavináč (@). echo chr(64);
crypt( <text> [, salt ] )
Pomocí této funkce můžeme zakódovat zvolenou textovou hodnotu podle Unixového algoritmu DES nebo jiného algoritmu, který je v systému právě k dispozici. V případě, že vyplníme i druhý nepovinný parametr, bude kódování založeno na této textové hodnotě. V opačném případě bude náhodně vygenerována hodnota vlastní.
Příklad:
// Do proměnné $text uložíme námi požadovaný text k zakódování. $text = 'aleluja'; // Text zakódujeme s použitím druhého parametru - textu "jjuk". echo crypt($text,"jjuk"); // Výsledkem bude textová hodnota "jjDjQUzxX669M".
explode( <oddělovač> , <text> [, limit ] )
Pomocí této funkce můžeme rozdělit text pomocí zvoleného znaku (oddělovač) a uložit jej do pole. V případě, že vyplníme třetí nepovinný parametr limit, bude pole obsahovat zvolený počet prvků.
Příklad:
// Do proměnné $text uložíme jména. $text = "Jiří,Petr,Josef,Adam,Honza"; // Proměnná $jmena bude obsahovat pole s jmény. $jmena = explode(",",$text); /* Výsledkem budou následující prvky pole: Array ( [0] => Jiří [1] => Petr [2] => Josef [3] => Adam [4] => Honza ) */
htmlentities( <text> [, <quote_style> [, kódování ]] )
Pomocí této funkce můžeme převést HTML kód na jednotlivé entity. Tuto funkci upotřebíme například při převodu zdrojového kódu stránek apd. Druhý parametr slouží ke zvolení stylu uvozovek (jejich nahrazení):
Třetí parametr určuje jazykové kódování textu.
Příklad:
// Do proměnné $text uložíme textovou hodnotu. $text = "<b><i>Testovací text</i></b>"; // Proměnná $data bude obsahovat převedený text. $data = htmlentities($text); /* Výsledkem bude následující text: <b><i>Testovací text</i></b> */ echo htmlentities('<b>Testovací "text"...</b>',ENT_NOQUOTES); /* Výsledkem bude následující text: <b>Testovací "text"...</b> */
html_entity_decode( <text> [, <quote_style> [, kódování ]] )
Tato funkce je přesný opak funkce htmlentities, která převede HTML data nazpět.
Příklad:
// Do proměnné $text uložíme jména. $text = html_entity_decode("<b><i>Testovací text</i></b>"); /* Výsledkem budou text "<b><i>Testovací text</i></b>". */
htmlspecialchars( <text> [, <quote_style> [, kódování ]] )
Tato funkce je velmi podobná funkci htmlentities, ale umožňuje převést znaky jakými mohou být (<, >,&, ", apd.).
Příklad:
// Do proměnné $text uložíme odkaz. $text = '<a href="http://www.php.net">PHP.net</a>'; /* Výsledkem budou text "<a href="http://www.php.net">PHP.net</a>". */
implode( <oddělovač> , <pole>)
Opak funkce explode, která umožňuje převést prvky pole do jednoho textu odděleného zvoleným znakem.
Příklad:
// Do proměnné $text uložíme pole se jmény. $text = array("Jiří", "Petr", "Josef" , "Adam", "Honza"); /* Pole rozdělíme a necháme jednotlivé prvky oddělit čárkou. */ $data = implode(",", $text); /* Výsledkem bude řetězec: "Jiří,Petr,Josef,Adam,Honza". */
md5( <text> )
Funkce, která vrací MD5 hash zvoleného textu. Na této funkci je postavena také funkce md5_file, která vrátí MD5 hash zvoleného souboru.
Příklad:
// Do proměnné $heslo uložíme hodnotu "test". $heslo = "test"; /* Porovnáme, zda se hashe shodují. */ if (md5($heslo) == "098f6bcd4621d373cade4e832627b4f6") { echo "Heslo je správné !!!"; } /* Výsledkem bude hodnota TRUE. */
nl2br( <text> )
Pomocí této funkce můžeme nahradit ve zvoleném textu všechny nové řádky (Entery) HTML znakem "<BR />".
str_word_count ( <text> [, <formát>] )
Funkce, která umožňuje spočítat počet slov ve zvoleném textu. Druhý parametr určuje, co bude vráceno jako výsledek funkce. V případě, že druhý parametr necháme prázdný, bude vrácen počet slov v textu. Dosadit jako druhý parametr můžeme také následující hodnoty:
strlen( <text> )
Funkce, která vrací velikost zvoleného textu.
Příklad:
// Do proměnné $text uložíme hodnotu "Testovací text". $text = "Testovací text"; /* Výsledkem bude hodnota 14. */ echo strlen($text);
strpos( <text> , <hledaný řetězec> )
Funkce, která vrací první pozici výskytu hledaného řetězce v textu. V případě, že se zde řetězec nacházet nebude, bude vrácena hodnota FALSE. Pro případné porovnávání použijte operátor "===" místo operátoru "==", jelikož tato funkce vrací také hodnoty 0 nebo "".
Příklad:
// Do proměnné $text uložíme hodnotu "Testovací text". $text = "Testovací text"; $co = "text"; /* Výsledkem bude hodnota 10. */ echo strpos($text, $co);
strrchr( <text> , <hledaný řetězec> )
Funkce, která vrací část posledního řetězce v hledaném textu. V případě, že se zde řetězec nacházet nebude, bude vrácena hodnota FALSE.".
Příklad:
// Do proměnné $text uložíme hodnotu "Testovací text". $text = "Testovací text"; $co = " t"; /* Výsledkem bude hodnota "text". */ echo strrchr($text, $co);
strrpos( <text> , <hledaný řetězec> )
Funkce, která vrací pozici posledního výskytu znaku v řetězci. V případě, že se zde řetězec nacházet nebude, bude vrácena hodnota FALSE. Pro případné porovnávání použijte operátor "===" místo operátoru "==", jelikož tato funkce vrací také hodnoty 0 nebo "".
Příklad:
// Do proměnné $text uložíme hodnotu "Testovací text". $text = "Testovací text"; $co = "t"; /* Výsledkem bude hodnota 13. */ echo strrpos($text, $co);
strstr( <text> , <hledaný řetězec> )
Funkce, která vrací pozici prvního výskytu retězce v textu.
Příklad:
// Do proměnné $text uložíme hodnotu "Testovací text". $text = "Testovací text"; $co = " "; /* Výsledkem bude hodnota "text". */ echo strstr($text, $co);
strtolower( <text> )
Funkce, která převede zvolený text na malá písmena.
Příklad:
$text = "TeSTovAcÍ teXt"; /* Výsledkem bude hodnota "testovací text". */ echo strtolower($text);
strtoupper( <text> )
Funkce, která převede zvolený text na velká písmena.
Příklad:
$text = "TeSTovAcÍ teXt"; /* Výsledkem bude hodnota "TESTOVACÍ TEXT". */ echo strtoupper($text);
substr( <text> , <start> [, <délka>] )
Funkce, která vrací zvolený text podle zadané počáteční pozice a nepovinného parametru délky. V případě, že jako počáteční pozice je zadáno záporné číslo, začne funkce od konce.
Příklad:
$text = "TeSTovAcÍ teXt"; /* Vrátí řetězec "vAcÍ teXt". */ echo substr($text, 5); /* Vrátí řetězec "Xt". */ echo substr($text, -2, 2);
trim( <text> )
Funkce, která umožňuje odstranit z textu tabulátory (\t), nové řádky (\n) apd.
Příklad:
$text = "\t\tTestovací text \n \t "; /* Vrátí řetězec "Testovací text". */ echo trim($text);
Pro tento díl to bude vše. V příštím díle budeme dále pokračovat v poznávání jazyka PHP.