Poznßvßnφ PHP

Prßce s °et∞zci

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

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

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

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

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

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:
&lt;b&gt;&lt;i&gt;Testovac&iacute; text&lt;/i&gt;&lt;/b&gt;
*/

echo htmlentities('<b>Testovacφ "text"...</b>',ENT_NOQUOTES);

/* V²sledkem bude nßsledujφcφ text:
&lt;b&gt;Testovac&iacute; "text"...&lt;/b&gt;
*/


html_entity_decode

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("&lt;b&gt;&lt;i&gt;Testovac&iacute; text&lt;/i&gt;&lt;/b&gt;");

/* V²sledkem budou text "<b><i>Testovacφ text</i></b>". */


htmlspecialchars

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 "&lt;a href=&quot;http://www.php.net&quot;&gt;PHP.net&lt;/a&gt;". */


implode

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

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

nl2br( <text> )

Pomocφ tΘto funkce m∙₧eme nahradit ve zvolenΘm textu vÜechny novΘ °ßdky (Entery) HTML znakem "<BR />".


str_word_count

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

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

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

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

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

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

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

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

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

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.

Petr Rympler