Php variabilná dĺžka. Funkcie pre prácu s reťazcami v PHP. Konvertujte reťazce a súbory do formátu HTML a naopak

  • 03.11.2019

Programátori sa veľmi často musia potýkať s rôznymi funkciami práce s reťazcami v php. Všetky funkcie sú uvedené v rôznych referenčných knihách, ale rád by som sa obmedzil iba na tie hlavné.

Funkcia PHP substr - získa časť reťazca

Keď potrebujete vybrať segment danej dĺžky z reťazca začínajúceho od danej pozície, na pomoc prichádza funkcia substr.V tejto funkcii oddelené čiarkami: text, začiatočná pozícia a počet znakov. Posledný parameter je voliteľný a ak chýba, výsledkom operácie funkcie bude fragment zdrojového textu od začiatočnej pozície po koniec riadku.

PHP funkcia strlen - zisti dlzku retazca

Táto funkcia vráti dĺžku pôvodného reťazca ako celé číslo.Pomocou tejto funkcie môžete skontrolovať dĺžku údajov zadaných používateľom alebo možno niečo iné.

Funkcia PHP trim – odstránenie nadbytočných medzier okolo okrajov reťazca

Funkcia orezania odstráni všetky medzery z okrajov reťazca vrátane znaku nového riadku. Existujú aj funkcie rtrim a ltrim, ktoré odstraňujú koncové alebo úvodné medzery z riadku.

PHP funkcia strpos - Hľadá reťazec

funkcia strpos hľadá podreťazec v reťazci a v prípade úspechu vráti pozíciu začiatku tohto podreťazca. Po nájdení prvého podreťazca sa vyhľadávanie zastaví.Poradie argumentov vo funkcii, ako ste možno uhádli, je nasledovné: zdrojový reťazec, podreťazec, počiatočná pozícia. Tretí parameter je voliteľný, ale skúste si spomenúť, čo to je.

PHP funkcia strip_tags - odstránenie HTML a PHP tagov z reťazca

Funkcia strip_tags vracia reťazec zbavený značiek html a php. Bude sa vám hodiť, keď na svoju stránku napíšete modul komentárov, aby ste hackerom nenechali možnosť hacknúť vašu stránku cez formulár.html a php musí byť odstránené "; echo strip_tags ($ text); echo strip_tags ($ text," "); // neodstraňujte značky em?> Prvý argument funkcie je pôvodný text a druhý sú značky, ktoré by sa nemali odstraňovať.

PHP funkcia strtolower - previesť reťazec na malé písmená

PHP funkcia strtoupper - prevod reťazca na veľké písmená

Ak bola táto stránka pre vás užitočná, môžete jej umiestnením pomôcť pri jej rozvoji

Každý sebavedomý webový programátor by mal byť oboznámený s PHP, ktoré možno použiť na vytváranie webových stránok. Tento jazyk je založený na C a C++, a preto obsahuje mnoho konštruktov, ktoré sú špecifické pre tento jazyk. Napríklad v PHP je dĺžka reťazca vrátená funkciou s rovnakým názvom ako v C. Tento článok hovorí o reťazcoch a operáciách, ktoré s nimi môžete vykonávať.

Ale predtým, ako hovoríme o funkciách, dajme základnú definíciu. Reťazec je postupnosť znakov, z ktorých každý zaberá presne jeden bajt. To znamená, že v PHP je podporovaných 256 znakov. Z toho logicky vyplýva, že v tomto jazyku nie je podpora Unicode – v Unicode je predsa oveľa viac znakov.

Aký druh reťazcových operácií má PHP? Dĺžka reťazca, ich zreťazenie (spojenie), návrat znakového kódu a naopak sú najjednoduchšie príklady. Existuje aj zložitejšie vyhľadávanie podreťazcov, hashovanie, inverzia. A sú tu aj také ako mazanie tagov, vyhľadávanie podľa vzoru, delenie na podreťazce pomocou oddeľovača... Nedá sa vypísať všetko! Preto vám povieme o najbežnejších a najužitočnejších.

Úplne prvou a najčastejšie používanou funkciou v PHP je dĺžka reťazca. Nazýva sa strlen a berie ako parameter jednu sekvenciu znakov. Je to jednoduché.

$ bar = strlen ($ foo); // $ bar sa rovná trom

V PHP môže byť dĺžka reťazca nula. Takýto riadok sa nazýva prázdny.

Ďalšou funkciou je zreťazenie alebo zlúčenie. Jednoducho povedané, tvorí jeden z dvoch riadkov.

$ foo = ”Dobrý deň,”;

$ bar = „svet!“;

$ baz = concat ($ foo, $ bar);

echo $ baz; // vytlačí „Ahoj svet!“

K dispozícii sú aj dve spätné funkcie pre prácu s jednotlivými postavami. Ord - vráti kód znaku a chr - identifikuje znak po kóde.

$ bar = ord ($ foo); // bar $ je 113

$ baz = chr ($ bar); // $ baz je „q“

Nemožno nespomenúť ešte jednu zaujímavú funkciu – dátum. V PHP môžu byť reťazce použité ako šablóna pre výstup času. Ak napríklad zadáte reťazec „H: m: s“ na dátum a zobrazenie výsledku, na obrazovke sa zobrazí aktuálny čas servera oddelený dvojbodkou, napríklad „11:08:34“.

Teraz sa pozrime na funkciu explode. Rozdeľuje reťazec na prvky, pričom berie do úvahy hranice každého špecifikovaného znaku. Znie to dosť komplikovane, ale v skutočnosti je to celkom jednoduché. Napríklad existuje riadok „root | 12: 56: 49 | wheel“. Potom môžete písať takto:

$ foo = explode („koreň | 12: 56: 49 | koleso“, „|“);

Výsledkom je, že pole $ foo bude obsahovať tri prvky – „root“, „12:56:49“, „wheel“. Ak pri volaní funkcie nešpecifikujete oddeľovač, bude sa štandardne považovať za medzeru. Je tu ešte jeden voliteľný parameter – maximálny počet podreťazcov na výber.

Nasledujúca funkcia odstráni značky HTML z reťazca. Nazýva sa to strip_tags. Rovnako ako funkcia explode má voliteľný druhý parameter – zoznam značiek, ktoré treba nechať.

Jednoduché funkcie – zreťazenie, vyhľadávanie podreťazcov, dĺžka reťazca – PHP interpretuje dostatočne rýchlo. Spracovanie vyhľadávania podľa vzoru alebo odstránenie značiek však môže trvať dlho. Programy je preto potrebné zostaviť kompetentne, berúc do úvahy skutočnosť, že ich realizácia si vyžaduje určitý čas. Bežný skript musí byť spustený maximálne 10 sekúnd a potom musí byť zobrazená aspoň časť webovej stránky, inak ju používateľ opustí. Zvyčajne však webové aplikácie bežia oveľa rýchlejšie, pretože kód PHP sa spúšťa na serveri a prehliadač akceptuje stránku vygenerovanú skriptom, ktorá obsahuje výstup skriptu PHP.

Struny sú jedným z hlavných typy premenných v PHP... A musíte s nimi pracovať na rovnakej úrovni ako čísla, s booleovskými premennými a poľami. Samozrejme vývojári PHP aby nám to uľahčilo práca so strunami už pre nás zabudovali mnohé hotové funkcie. A povieme si o tých najčastejšie používaných.

Začnime funkciou, ktorú používam, keď práca s reťazcami v PHP pravidelne - strlen ()... Táto funkcia vráti dĺžku reťazca (počet znakov v reťazci):

$ str = "Toto je môj reťazec";
echo strlen ($ str);
?>

Myslím, že táto funkcia nepotrebuje komentár.

Existujú tiež dva bežne používané reťazcové funkcie- toto je strtolower () a strtoupper ()... Tieto funkcie vám umožňujú previesť reťazec na malé a veľké písmená:

$ str = "Toto je môj reťazec";
echo strtolower ($ str).
";
echo strtoupper ($ str);
?>

Veľmi užitočná funkcia reťazca - substr () ktorý vráti podreťazec z pôvodného reťazca:

$ str = "Toto je môj reťazec";
echo substr ($ str, 1).
";
echo substr ($ str, 4, 2).
";
?>

Ako vidíte, táto funkcia môže obsahovať dva alebo tri parametre. Prvý parameter je zdrojový reťazec, druhý parameter je číslo znaku v zdrojovom reťazci, ktorý sa potom stane prvým vo výslednom reťazci. Poznámka: číslovanie znakov začína od 0(to znamená v našom príklade 1 symbol - " h"). Tretí parameter znamená dĺžku reťazca, ktorý chceme získať. Ak tento parameter nie je zadaný, vráti sa reťazec, začínajúc od druhého parametra po koniec reťazca. Vo všeobecnosti sa pozrite na výsledok a všetko vám bude jasné.

Ďalší užitočný reťazcová funkcia v PHP- toto je str_replace ()... Ako už názov napovedá, táto funkcia vracia reťazec s nahradenou časťou:

$ str = "Toto je môj reťazec";
echo str_replace ("moje", "vaše", $ str);
?>

Na výstupe sme dostali nasledujúci riadok: " Toto je váš reťazec To znamená, že táto funkcia nahradila reťazec určený prvým parametrom reťazcom určeným druhým parametrom v reťazci určenom tretím parametrom a vrátila výsledok.

A posledná funkcia, ktorú s vami zvážime, je strpos ()... Táto funkcia hľadá výskyt podreťazca v reťazci a vracia číslo prvého znaku výskytu (pripomeňme, že číslovanie znakov začína 0, nie 1):

$ str = "Toto je môj reťazec";
echo strpos ($ str, "je");
?>

Ako vidíte, táto funkcia je veľmi jednoduchá a veľmi dôležitá, pretože vám umožňuje vyhľadávať v rámci reťazca. Tiež mám funkcie strpos (). existuje ešte jeden voliteľný parameter, ktorý nastavuje posun. Pripomíname, že táto funkcia hľadá prvý výskyt. Napríklad v našom príklade " je"vyskytuje sa v reťazci dvakrát, ale táto funkcia vrátila číslo znaku pri prvom výskyte. Preto, aby ste získali čísla a ďalšie výskyty, musíte zadať tretí parameter - posun:

$ str = "Toto je môj reťazec";
echo strpos ($ str, "je", 4);
?>

Takže teraz máme číslo znaku v ďalšom výskyte. A na záver by som chcel povedať, že ak sa záznam nenájde, funkcia sa vráti falošné... A v tejto chvíli veľa ľudí robí chyby. Uveďme si jednoduchý príklad:

$ str = "Toto je môj reťazec";
if (strpos ($ str, "Th") == false) echo "Reťazec sa nenašiel";
else echo "String found";
?>

Je zrejmé, že " Th"je obsiahnutý v pôvodnom reťazci a číslo znaku prvého výskytu je 0 ... Ale ak spustíte tento skript, uvidíte, že " reťazec sa nenašiel". Prečo? Ak si prečítate článok o operátor ekvivalencie, potom bez problémov odpovedzte na túto otázku. Ak však nie, vysvetlím. Faktom je, že odkedy máme funkciu strpos () vrátený 0 , a 0 z hľadiska PHP- toto je falošné, potom ľahko usúdil, že podmienka je pravdivá (napokon, vľavo falošné a správne falošné). Ako byť? Odpoveď je jednoduchá: použite operátor ekvivalencie (označený === ), ktorý porovnáva nielen hodnoty (ktoré sú v našom príklade rovnaké pre PHP), ale aj ich typy:

$ str = "Toto je môj reťazec";
if (strpos ($ str, "Th") === false) echo "Reťazec nenájdený";
else echo "String found";
?>

A teraz uvidíš, že" reťazec nájdený". Ako môžeš vidieť, operátor ekvivalencie môže dať o sebe vedieť každú chvíľu a treba na to vždy pamätať, inak sa nevyhnete ťažko dostupným chybám.

Samozrejme, toto nie je celý súbor. reťazcové funkcie poskytnuté vývojármi PHP, no ja som vám na základe svojej praxe dal zoznam najčastejšie používaných reťazcové funkcie v PHP.