1 / 17

Práce s řetězci

Práce s řetězci. Řetězec je libovolný text nebo libovolná skupina znaků. Řetězec se také označuje jako string . Činnosti prováděné s řetězci: Počítání znaků Ořezávaní Záměna Šifrování a další. Formátování řetězců ořezávání řetězců. chop() - ořízne prázdné znaky na konci

glenda
Download Presentation

Práce s řetězci

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Práce s řetězci • Řetězec je libovolný text nebo libovolná skupina znaků. • Řetězec se také označuje jako string. • Činnosti prováděné s řetězci: • Počítání znaků • Ořezávaní • Záměna • Šifrování • a další

  2. Formátování řetězcůořezávání řetězců chop() - ořízne prázdné znaky na konci ltrim() - ořízne prázdné znaky vlevo trim() - ořízne prázdné znaky na začátku a na konci <? $text=" Zítra půjdeme do školy "; $name=trim($text); echo$name; // vypíše – Zítra půjdeme do školy ?>

  3. Změna velikosti písmen strtoupper() - všechna písmena velká strtolower() - všechna písmena malá ucfirst() - první písmeno v řetězci velké ucwords() - první písmena všech slov velká

  4. Změna velikosti písmen • Některé funkce pro práci s řetězci mají problém se správnou funkcí při používání kódování UTF-8. • Lze využít knihovnu mbstring, která tento problém řeší. • U změny velikosti písmen na malá lze použít: mb_strtolower($text,"utf-8")

  5. Příklad • Vytvořte proměnnou, ve které bude uložen řetězec "aHojšKoLo!". Tento řetězec nechte vypsat tak, aby všechna písmena byla: • velká • malá • pouze první písmeno v řetězci velké • pouze první písmena všech slov velká Výpis jednotlivých řetězců musí být pod sebou

  6. Řešení Obr. 1

  7. Funkce pro spojování a dělení řetězců implode(separátor, pole) - spojí řetězce daným separátorem explode(separátor, řetězec) - vytvoří pole, roztrháním řetězce dle daného separátoru substr(řetězec, začátek, konec) - umožní pomocí počátečního a koncového znaku získat podřetězec z řetězce mb_substr(řetězec, začátek, konec,"utf-8") - umožní pomocí počátečního a koncového znaku získat podřetězec z řetězce – podpora kódování UTF-8

  8. Funkce implode Ukázka spojení dvou řetězců z pole <? $jmeno = Array("Roman", "Blábolil"); $celejmeno = implode (" ", $jmeno); echo$celejmeno; ?>

  9. Funkce explode Ukázka oddělení jména od domény u e-mailové adresy <? $email = ("blabolil@sosvaz.cz"); $pole = explode ("@", $email); echo$pole[0]."<br />"; echo$pole[1]; ?>

  10. Funkce substr Získání podřetězce - 5 znaků zleva (znaky se počítají od 0) <? $test = ("Ahojsvěte!"); echo mb_substr($test, 0, 5, "utf-8"); ?> Získání posledních 6 znaků <? $test = ("Ahojsvěte!"); echomb_substr($test, -6, 6, "utf-8"); ?>

  11. Testování délky řetězce strlen() - vrátí délku řetězce mb_strlen() - vrátí délku řetězce (pro kódování utf-8) <? $test = ("Ahojsvěte!"); echo mb_strlen($test, "utf-8"); ?>

  12. Vyhledávání řetězců strstr(řetězec, hledaný řetězec) - vyhledá daný řetězec nebo znak stristr(řetězec, hledaný řetězec) - nerozlišuje velikost písmen Pokud budete chtít otestovat, zda uživatel požaduje e-mail na zástupce nebo ředitele <? $test = ("chci adresu zástupce"); if (strstr($test, "zástupce")) $email = "blabolil@sosvaz.cz"; elseif (strstr($test, "ředitel")) $email = "kabele@sosvaz.cz"; echo "Požadovaná adresa je ". $email; ?>

  13. Nahrazení a odstranění znaků z řetězce Nahrazení hledané části <? $text="rkola"; $novy=str_replace ("r","š",$text); echo$novy; ?> Odstranění tagů HTML a PHP z řetězce <? $text="<b>škola</b>"; $novy=strip_tags ($text); echo$novy; ?>

  14. Převod tagů v řetězci, zakódování řetězce Převod tagů v řetězci na entity HTML <? $text="<b>škola tučně</b>"; $novy=htmlspecialchars ($text); echo$novy; ?> Zakódování řetězce <? $text="<b>škola</b>"; $novy=crypt ($text); echo$novy; ?>

  15. Převod řetězců na jiné znaky <? $text="školička"; $prevodni_tabulka = Array('ä'=>'a','Ä'=>'A','á'=>'a','Á'=>'A','à'=>'a','À'=>'A', 'ã'=>'a','Ã'=>'A','â'=>'a','Â'=>'A','č'=>'c','Č'=>'C','ć'=>'c','Ć'=>'C', 'ď'=>'d','Ď'=>'D','ě'=>'e','Ě'=>'E','é'=>'e','É'=>'E','ë'=>'e','Ë'=>'E', 'è'=>'e','È'=>'E','ê'=>'e','Ê'=>'E','í'=>'i','Í'=>'I','ï'=>'i','Ï'=>'I', 'ì'=>'i','Ì'=>'I','î'=>'i','Î'=>'I','ľ'=>'l','Ľ'=>'L','ĺ'=>'l','Ĺ'=>'L', 'ń'=>'n','Ń'=>'N','ň'=>'n','Ň'=>'N','ñ'=>'n','Ñ'=>'N','ó'=>'o','Ó'=>'O', 'ö'=>'o','Ö'=>'O','ô'=>'o','Ô'=>'O','ò'=>'o','Ò'=>'O','õ'=>'o','Õ'=>'O', 'ő'=>'o','Ő'=>'O','ř'=>'r','Ř'=>'R','ŕ'=>'r','Ŕ'=>'R','š'=>'s','Š'=>'S', 'ś'=>'s','Ś'=>'S','ť'=>'t','Ť'=>'T','ú'=>'u','Ú'=>'U','ů'=>'u','Ů'=>'U', 'ü'=>'u','Ü'=>'U','ù'=>'u','Ù'=>'U','ũ'=>'u','Ũ'=>'U','û'=>'u','Û'=>'U', 'ý'=>'y','Ý'=>'Y','ž'=>'z','Ž'=>'Z','ź'=>'z','Ź'=>'Z'); //Převodní tabulka pomocí pole je použita z důvodu kódování UTF-8 $novy = strtr($text, $prevodni_tabulka); echo $novy; ?>

  16. Otázky k opakování • K jakým účelům se používá funkce "trim"? • Jaké funkce se používají pro změnu velikosti písma řetězce? • Jaké funkce se používají pro spojování a dělení řetězců? • K jakým účelům se používá funkce "strstr"?

  17. Použité zdroje • BLÁBOLIL, R. Informační a komunikační technologie. 3. rozšířené vydání. České Budějovice: KOPP, 2011. str. 407 Použité obrázky: • Vlastní

More Related