Výskyt znakov PHP. Funkcia strpos v PHP: určenie polohy podreťazca. Preveďte reťazec na veľké a malé písmená

  • 03.11.2019

Reťazce sú veľmi dôležitým dátovým typom, s ktorým musíte neustále pracovať pri riešení problémov s vývojom webu. Tento článok popisuje 10 veľmi užitočných trikov, ktoré vášmu PHP vývojárovi uľahčia život.

Automatické odstránenie html značiek z reťazca

Pri používaní formulárov vyplnených používateľom niekedy musíte odstrániť nepotrebné značky. Táto úloha sa dá ľahko vyriešiť pomocou funkcie strip_tags ():

$ text = strip_tags (vstup $, "");

Získajte text medzi $ začiatok a $ koniec

Takáto funkcia by mala byť v arzenáli vývojára: získa pôvodný reťazec, začiatok a koniec a vráti text, ktorý sa nachádza medzi $ začiatok a $ end.

Funkcia GetBetween ($ content, $ start, $ end) ($ r = explode ($ start, $ content); if (isset ($ r)) ($ r = explode ($ end, $ r); return $ r; ) vrátiť "" ;)

Konverzia adresy URL na hypertextový odkaz

Ak adresu URL vložíte do formulára komentára na blogu WordPress, automaticky sa premení na hypertextový odkaz. Ak chcete implementovať rovnakú funkčnosť na svojom webe alebo webovej aplikácii, môžete použiť nasledujúci kód:

$ url = "Jean-Baptiste Jung (http://www.webdevcat.com)"; $ url = preg_replace ("#http: // (+) #", "", $ url);

Rozdelenie textu do poľa 140 znakov pre Twitter

Možno to poznáte Twitter prijíma správy do 140 znakov. Ak máte v pláne zariadiť, aby vaša aplikácia interagovala s populárnou stránkou sociálnych správ, potom funkcia, ktorá skráti správy na 140 znakov, bude pre vás určite to pravé.

Funkcia split_to_chunks ($ to, $ text) ($ total_length = (140 - strlen ($ to)); $ text_arr = explode ("", $ text); $ i = 0; $ message = ""; foreach ($ text_arr ako $ word) (if (strlen ($ správa [$ i]. $ slovo. "")<= $total_length){ if ($text_arr == $word){ $message[$i] .= $word; } else { $message[$i] .= $word . " "; } } else { $i++; if ($text_arr == $word){ $message[$i] = $word; } else { $message[$i] = $word . " "; } } } return $message; }

Odstráňte adresu URL z reťazca

Mnoho ľudí zanecháva adresy URL v komentároch blogu, aby získali návštevnosť alebo poskytli spätnú väzbu. Tieto odkazy znečisťujú blog a môžu byť pre majiteľa frustrujúce, ak ich je príliš veľa. Takže ďalšia funkcia bude veľmi užitočná!

$ string = preg_replace ("/ \ b (https? | ftp | súbor): \ / \ / [ [e-mail chránený]# \ /%? = ~ _ | $!:,.;] * / i "," ", $ reťazec);

Premeňte strunu na slimáka

Potrebujete vygenerovať slimáka (pre trvalý odkaz), ktorý je kompatibilný so SEO? Nasledujúca funkcia berie reťazec ako parameter a vracia SEO priateľský slimák. Jednoduché a efektívne!

Funkcia slug ($ str) ($ str = strtolower (trim ($ str)); $ str = preg_replace ("/ [^ a-z0-9 -] /", "-", $ str); $ str = preg_replace ("/ - + /", "-", $ str); návrat $ str;)

Analýza súboru CSV

Súbory CSV (hodnoty oddelené čiarkou) predstavujú jednoduchý spôsob ukladania a prenosu údajov a analýza takýchto súborov v PHP je mimoriadne jednoduchá. neveríš mi? Nasledujúci kód demonštruje spracovanie súboru CSV:

$ fh = fopen ("contacts.csv", "r"); while ($ line = fgetcsv ($ fh, 1000, ",")) (echo "Kontakt: ($ line)";)

Vyhľadajte reťazec v inom reťazci

Ak je reťazec obsiahnutý v inom reťazci a potrebujete ho nájsť, problém sa vyrieši jednoducho:

Funkcia obsahuje ($ str, $ content, $ ignorecase = true) (if ($ ignorecase) ($ str = strtolower ($ str); $ content = strtolower ($ content);) return strpos ($ content, $ str)? pravda lož;)

Skontrolujte, či reťazec začína konkrétnym vzorom

Niektoré programovacie jazyky, napríklad Java, majú metódu / funkciu startWith, ktorá vám umožňuje skontrolovať, či reťazec začína určitým vzorom. Bohužiaľ PHP nemá takú jednoduchú vstavanú funkciu.
Napriek tomu si ho môžeme vyrobiť sami a navyše je to veľmi jednoduché:

Funkcia String_Begins_With ($ needle, $ haystack) (return (substr ($ haystack, 0, strlen ($ needle)) == $ needle);)

Zlatý klinec e-mail z reťazca

Zaujímalo vás niekedy, ako spameri získavajú vaše e-mailové adresy? Je to jednoduché. Zoberú webovú stránku (napríklad z fóra) a analyzujú html kód na extrahovanie e-mailových adries. Nižšie uvedený kód berie reťazec ako parameter a vytlačí všetky e-maily, ktoré obsahuje. Prosím, nepoužívajte tento kód na spam!

Funkcia extract_emails ($ str) (// Regulárny výraz, ktorý extrahuje všetky e-maily z reťazca: $ regexp = "/()+\@(()+\.)+((2,4))+/i"; preg_match_all ($ regexp, $ str, $ m); návrat isset ($ m)? $ m: pole ();) $ test_string = "Testovací reťazec ... [e-mail chránený] Kontrola iných formátov: [e-mail chránený]; foobar Ďalšia kontrola: [e-mail chránený] test6example.org [e-mail chránený] [e-mail chránený] example.org [e-mail chránený]! foo! .org foobar "; print_r (extract_emails ($ test_string));

1,1 tis

Funkcia PHP strpos sa používa na nájdenie podreťazca v danom reťazci. Vráti číselnú hodnotu prvého výskytu zadaného podreťazca.

Syntax pre použitie strpos

Funkcia php strpos sa používa nasledovne:

$ position = strpos ($ daný_reťazec, $ hľadaný_reťazec);

Poznámka: Pri vyhľadávaní pomocou funkcie strpos sa rozlišujú malé a veľké písmená. Takže vyhľadávanie kľúčových slov „Test“ a „test“ poskytne rôzne výsledky.

Počítanie pozícií začína od 0, nie od 1.

Na príklade demo verzií predvediem použitie tejto funkcie na nájdenie daného podreťazca a hodnoty zadanej používateľom.

Jednoduchý príklad použitia funkcie strpos

Pozrite si nasledujúci príklad, v ktorom som použil vyhľadávacie hodnoty na demonštráciu toho, ako funguje funkcia strpos PHP:


Pozrite si online demo a kód

PHP kód:

"; echo" Daný substr nájdený na: $ position ";)?>

strpos príklad PHP:

Reťazec obsahuje hľadaný výraz: 'strpos'! Daný podreťazec sa nachádza na: 10

Príklad použitia strpos na nájdenie výrazu zadaného používateľom

Táto metóda môže byť užitočná v určitých situáciách. Napríklad, keď niektoré slová nie je možné zadať do formulára.

Okrem toho môžete skontrolovať, či sa slovo zadané používateľom pre vyhľadávanie nachádza v pôvodnom reťazci. Na základe toho môžete zobraziť určité výsledky vo forme odpovede.

V tejto ukážke môže používateľ zadať výraz do textového poľa. Po kliknutí na tlačidlo sa spustí funkcia strpos, ktorá skontroluje, či pôvodný reťazec obsahuje podreťazec. Na obrazovke sa zobrazí príslušná správa:


Pre ukážku som použil nasledujúci zdrojový riadok:

$ source_string = "V tejto ukážke používam hľadaný výraz zadaný používateľom na kontrolu, či reťazec obsahuje hľadaný výraz alebo nie, pomocou strpos!";

Skúste zadať rôzne písmená alebo slová, aby ste zistili, či funkcia nevracia hodnotu false. Prípadne skúste zadať výrazy veľkými alebo malými písmenami, aby ste videli rozdiel.

Na tento účel bol použitý nasledujúci príklad PHP strpos utf 8:

"; if ($ pozícia === false) (echo" Zdrojový reťazec neobsahuje: "$ search_term"! ";) else (echo" Reťazec obsahuje hľadaný výraz: "$ search_term"!
"; echo" Daný podreťazec sa nachádza na: $ position ";) echo"

"; } ?>

Môžete tiež vidieť značku strpos PHP ako príklad:



Plnú verziu si môžete pozrieť v zdrojovom kóde demo stránky.

Okrem toho môžete použiť databázu ako zdroj na vytvorenie vyhľadávacieho nástroja na vašej stránke.

Vyhľadávanie bez ohľadu na malé a veľké písmená s funkciou stripos

Ako už bolo spomenuté, funkcia strpos PHP rozlišuje malé a veľké písmená. Na vyhľadávanie reťazcov bez rozlišovania malých a veľkých písmen použite funkciu PHP stripos.

Syntax je takmer rovnaká ako pre strpos:

$ position = stripos ($ daný_reťazec, $ hľadaný_reťazec);

Teraz vám ukážem, ako stripos funguje.

Príklad s použitím funkcie stripos

V tejto demo verzii je zdrojom vyhľadávania nasledujúci reťazec:

$ source_string = "Toto je stripos návod, ktorý sa používa na vyhľadávanie reťazcov. Hovorí, či daný reťazec obsahuje hľadaný reťazec alebo nie!";

Hľadaný výraz: $ search_term = ‘návod’;

Vloží kód zalomenia riadku HTML pred každý posun riadku

  • number_format – formátuje číslo so samostatnými skupinami
  • ord - Vráti ASCII kód ​​znaku
  • parse_str – analyzuje reťazec do premenných
  • print – Vytlačí reťazec
  • printf
  • quoted_printable_decode – dekóduje reťazec zakódovaný pre tlač v úvodzovkách
  • quotemeta - Uniká zo špeciálnych znakov
  • rtrim - Odstráňte medzery z konca riadku
  • sha1 – Vráti hodnotu hash SHA1 reťazca
  • sha1_file - Vráti hodnotu hash SHA1 súboru
  • podobný_text – Vypočíta podobnosť dvoch reťazcov
  • soundex - Vráti kľúč soundex pre reťazec
  • sprintf
  • sscanf – analyzuje reťazec podľa daného formátu
  • strcasecmp - Porovnanie reťazcov bez rozlišovania malých a veľkých písmen, binárne bezpečné
  • strcmp - Binárne bezpečné porovnanie reťazcov
  • strcoll - Porovnanie reťazcov na základe aktuálneho miestneho nastavenia
  • strcspn - Vráti dĺžku segmentu na začiatku riadku, ktorý sa nezhoduje s maskou
  • stripcslashes - Odstráni kódovanie znakov spôsobené addcslashes ()
  • stripos – Vráti polohu prvého výskytu podreťazca bez ohľadu na veľkosť písmen
  • stripslashes - Odstráni stripslashes () escapovanie
  • strip_tags – Odstráni značky HTML a PHP z reťazca
  • stristr – Podobné ako strstr, ale nerozlišuje veľké a malé písmená
  • strlen - Vráti dĺžku reťazca
  • strnatcasecmp – Porovnanie reťazcov bez rozlišovania malých a veľkých písmen pomocou algoritmu
  • strnatcmp - Porovnanie reťazcov pomocou algoritmu "prirodzeného usporiadania".
  • strncasecmp
  • strncmp - Porovnanie prvých n znakov reťazcov bez ohľadu na malé a veľké písmená, bezpečné pre binárne dáta
  • strpos – Nájde prvý výskyt podreťazca v reťazci
  • strrchr
  • strrev - Obrátený reťazec
  • strripos – Vráti polohu posledného výskytu podreťazca, pričom sa nerozlišujú malé a veľké písmená
  • strrpos – Nájde posledný výskyt znaku v reťazci
  • strspn - Vráti dĺžku segmentu na začiatku riadku, ktorý zodpovedá maske
  • strstr – Nájde prvý výskyt podreťazca
  • strtok - Rozdelí reťazec
  • strtolower - Konvertuje reťazec na malé písmená
  • strtoupper - Skonvertuje reťazec na veľké písmená
  • strtr - Konvertuje dané znaky
  • str_ireplace - Verzia str_replace () bez ohľadu na malé a veľké písmená.
  • str_pad - Doplnenie reťazca iným reťazcom na zadanú dĺžku
  • str_repeat - Vráti duplicitný reťazec
  • str_replace - Nahradí hľadaný reťazec náhradným reťazcom
  • str_rot13 - Vykoná konverziu ROT13 na reťazci
  • str_shuffle - Náhodné premiešanie znakov v reťazci
  • str_split - Konvertuje reťazec na pole
  • str_word_count - Vráti informácie o slovách zahrnutých v reťazci
  • substr - Funkcia vracia časť reťazca
  • substr_count - Spočíta počet výskytov podreťazca v reťazci
  • substr_replace - Nahrádza časť reťazca
  • trim - Odstráni medzery zo začiatku a konca reťazca
  • ucfirst - Skonvertuje prvý znak reťazca na veľké písmená
  • ucwords – Skonvertuje prvý znak každého slova v reťazci na veľké písmená
  • vprintf - Vytlačí formátovaný reťazec
  • vsprintf - Vráti naformátovaný reťazec
  • wordwrap – vykoná zalomenie riadku pre daný počet znakov pomocou znaku zalomenia riadku
  • Vlastnosti porovnávacích operátorov aplikovaných na reťazce.

    $ jedna = 1; // Číslo jeden. $ nula = 0; // Nastavte číslo na nulu. if ($ jedna == "") echo 1; // Očividne sa nerovná - nevypíše 1. if ($ nula == "") echo 2; //* Pozor! Oproti očakávaniam vytlačí 2! if ("" == $ nula) echo 3; // * A ani to nepomôže - vypíše! .. if ("$ zero" == "") echo 4; // To je správne. if (strval ($ nula) == "") echo 5; // Toto je tiež správne - nevypíše 5. if ($ zero === "") echo 6; // Najlepší spôsob, ale neplatí v PHP 3.

    sekať ()

    Funkcia chop () vráti reťazec po odstránení koncových bielych znakov a nových riadkov. Syntax funkcie sekania () je:

    string chop (strunová struna)

    V nasledujúcom príklade funkcia sekania () odstraňuje nadbytočné nové riadky:

    $ header = "Obsah \ n \ n"; $ hlavička = kotleta ($ hlavička); // hlavička $ = "Obsah"

    str_pad ()

    Funkcia str_pad () zarovná reťazec na konkrétnu dĺžku so zadanými znakmi a vráti naformátovaný reťazec. Syntax funkcie str_pad () je:

    string str_pad (string string, int padding_length [, string padding [, int padding_type]])

    Ak nie je zadaný voliteľný parameter padding, reťazec sa doplní medzerami. V opačnom prípade sa reťazec doplní zadanými znakmi. V predvolenom nastavení je riadok vyplnený vpravo; v parametri padding_type však môžete zadať STR_PAD_RIGHT, STR_PAD_LEFT alebo STR_PAD_BOTH, čím sa reťazec doplní v zadanom smere. Príklad ukazuje vyplnenie reťazca funkciou str_pad () s predvolenými parametrami:

    $ jedlo = "šalát"; print str_pad ($ food, 5): // Vytlačí reťazec "salad V nasledujúcom príklade sú použité voliteľné parametre funkcie str_pad (): $ header =" Obsah "; print str_pad ($ header, 5," = + = + = " , STR_PAD_BOTH); // Prehliadač zobrazí reťazec = + = + = Tabe of Contents = + = + = "

    orezať ()

    Funkcia trim () odstráni všetky medzery z oboch koncov reťazca a vráti výsledný reťazec. Syntax funkcie trim () je:

    strunový trim (krajina struny]

    Špeciálne znaky \ n, \ r, \ t, \ v a \ 0 sú tiež odstránené.

    ltrim ()

    Funkcia lrim () odstráni všetky medzery a špeciálne znaky z ľavého okraja reťazca a vráti výsledný reťazec. Syntax funkcie ltrim () je:

    string ltrim (string string)

    Táto funkcia odstraňuje rovnaké špeciálne znaky ako orezanie ().

    strlen ()

    Určenie dĺžky reťazca

    Dĺžku reťazca v znakoch je možné určiť pomocou funkcie strlen (). Syntax funkcie strlen () je:

    int strlen (reťazec)

    Nasledujúci príklad ukazuje, ako určiť dĺžku reťazca pomocou funkcie strlen ():

    $ string = "ahoj"; $ dĺžka = strlen ($ reťazec); // $ dĺžka = 5

    Porovnanie dvoch reťazcov

    Porovnávanie dvoch reťazcov je jednou z najdôležitejších operácií s reťazcami v akomkoľvek jazyku. Hoci existuje niekoľko rôznych spôsobov, ako túto úlohu splniť, PHP má štyri funkcie porovnávania reťazcov:

    strcmp ()

    Funkcia strcmp () porovnáva dva reťazce, pričom sa rozlišujú malé a veľké písmená. Syntax funkcie strcmp () je int strcmp (reťazec reťazec1, reťazec reťazec2)

    Po dokončení porovnania vráti strcmp () jednu z troch možných hodnôt:

    • 0, ak sú riadok1 a riadok2 rovnaké;
    • < 0, если строка1 меньше, чем строка2;
    • > 0, ak je riadok 2 menší ako riadok 1.

    $ sthng1 = "maslo"; $ string2 = "maslo"; if ((strcmp ($ string1. $ string2)) == 0): print "Reťazce sú ekvivalentné!"; koniec Ak; // Príkaz if vráti hodnotu TRUE

    strcasecmp ()

    Funkcia strcasecmp () funguje úplne rovnako ako funkcia strcmp (), s jednou výnimkou – pri porovnávaní sa nerozlišujú veľké a malé písmená. Syntax funkcie strcasecmp () je:

    int strcasecmp (riadok reťazca1, riadok reťazca2)

    Nasledujúci úryvok porovnáva dva rovnaké reťazce:

    $ string1 = "maslo"; $ string2 = "Maslo"; if ((strcmp ($ string1, $ string2)) == 0): print "Reťazce sú ekvivalentné!"; koniec Ak; // Príkaz if vráti hodnotu TRUE

    strspn ()

    Funkcia strspn () vracia dĺžku prvého segmentu reťazca 1, ktorý obsahuje znaky prítomné v reťazci 2. Syntax funkcie strspn () je:

    int strspn (reťazec reťazec1, reťazec reťazec2)

    Nasledujúci úryvok ukazuje, ako sa funkcia strspn () používa na overenie hesla:

    $ heslo = "12345"; if (strspn (heslo $, "1234567890")! = strlen (heslo $)): print "Heslo nemôže pozostávať iba z čísel!"; koniec Ak:

    strcspn ()

    Funkcia strcspn () vráti dĺžku prvého segmentu reťazca 1, ktorý obsahuje znaky, ktoré nie sú v reťazci 2. Syntax funkcie strcspn () je:

    int strcspn (reťazec reťazec1, reťazec reťazec2)

    Nasledujúci úryvok používa funkciu strcspn () na overenie hesla:

    $ heslo = "12345"; if (strcspn (heslo $, "1234567890") == 0): print "Heslo nemôže pozostávať iba z čísel!"; koniec Ak;

    Spracovanie údajov reťazca bez použitia regulárnych výrazov

    Pri spracovaní veľkého množstva informácií regulárne funkcie výrazne spomaľujú vykonávanie programu. Tieto funkcie by sa mali používať iba pri spracovaní relatívne zložitých reťazcov, kde sú skutočne potrebné regulárne výrazy. Ak analýza textu prebieha podľa pomerne jednoduchých pravidiel, môžete využiť štandardné PHP funkcie, ktoré výrazne urýchlia spracovanie. Všetky tieto funkcie sú popísané nižšie.

    strtok ()

    Funkcia strtok () rozdeľuje reťazec na tokeny na základe oddeľovačov špecifikovaných druhým parametrom. Syntax funkcie strtok () je:

    string strtok (reťazec reťazca, oddeľovače reťazcov)

    Funkcia strtok () má jednu zvláštnosť: na úplné rozdelenie reťazca je potrebné funkciu volať niekoľkokrát za sebou. Pri ďalšom volaní funkcia extrahuje ďalší token z reťazca. V tomto prípade sa parameter reťazca nastavuje iba raz – funkcia sleduje aktuálnu pozíciu v reťazci, kým sa reťazec úplne nerozloží na tokeny alebo kým sa nenastaví nový parameter reťazca. Nasledujúci príklad ukazuje rozdelenie reťazca cez viacero oddeľovačov:

    $ info = "WJ Gi1more: [e-mail chránený]| Columbus, Ohio "; // Oddeľovače - dvojbodka (:), čiarka (|) a čiarka (.) $ Tokens =": ​​​​|, "; $ tokenized = strtok ($ info, $ tokenov); // Tlač poľa prvky $ tokenizované while ($ tokenizované): echo "Prvok = $ tokenizované
    "; // Poznámka: pri nasledujúcich volaniach strtok // prvý argument neprejde $ tokenized = strtok ($ tokenov); endwhile; Výsledok: Element = WJGilmore Element = [e-mail chránený] Element = Columbus Element = Ohio

    parse_str ()

    Funkcia parse_str () extrahuje páry v riadku a priraďuje hodnoty premenným v aktuálnom rozsahu. Syntax funkcie parse_str () je:

    void parse_str (reťazec reťazca)

    Parse_str () je obzvlášť užitočný pri práci s adresami URL, ktoré obsahujú údaje formulára HTML alebo iné rozšírené informácie. Nasledujúci príklad analyzuje informácie odovzdané cez adresu URL. Reťazec je štandardný spôsob odovzdávania údajov medzi stránkami, buď skompilovaný do hypertextového odkazu, alebo napísaný do formulára HTML:

    $ url = "fname = wj & lname = gilmore & zip = 43210"; parse_str ($ url); // Po vykonaní parse_str () sú dostupné nasledujúce premenné: // $ fname = "wj": // $ lname = "gilmore"; // $ zip = "43210"

    Pretože táto funkcia bola navrhnutá na prácu s adresami URL, ignoruje znak ampersand (&).

    vybuchnúť ()

    Funkcia explode () rozdelí reťazec na prvky a vráti tieto prvky ako pole. Syntax funkcie explode () je:

    pole explode (oddeľovač reťazca, reťazec reťazca [, prah int])

    K rozdeleniu dochádza pre každú inštanciu separátora a počet prijatých fragmentov môže byť obmedzený voliteľným prahovým parametrom.

    Rozdelenie reťazca pomocou funkcie explode () je demonštrované v nasledujúcom príklade:

    $ info = "wilson | baseball | indiáni"; $ user = explode ("|", $ info); // $ user = "wilson"; // $ user = "baseball"; // $ user = "Indiáni";

    Funkcia explode () je takmer totožná s funkciou regulárneho výrazu POSIX split () opísanou vyššie. Hlavný rozdiel je v tom, že odovzdávanie regulárnych výrazov v parametroch je povolené len pri volaní split ().

    zrútiť sa ()

    Ak explode () rozdelí reťazec na prvky poľa, jeho náprotivok implode () zreťazí pole do reťazca. Syntax funkcie implode () je:

    reťazec implode (oddeľovač reťazcov, fragmenty poľa)

    Vytvorenie reťazca z poľa je demonštrované v nasledujúcom príklade:

    $ ohio_cities = pole ("Columbus", "Youngstown", "Cleveland", "Cincinnati"); $ city_string = implode ("l", $ ohio_cities); // $ city_string = "Columbus | Youngstown | Cleveland | Cincinnati";

    Implode () má alias, funkciu join ().

    strpos ()

    Funkcia strpos () nájde prvý výskyt zadaného podreťazca v reťazci. Syntax funkcie strpos () je:

    int strpos (reťazec reťazca, podreťazec reťazca [, int offset])

    Voliteľný parameter offset špecifikuje pozíciu, z ktorej má vyhľadávanie začať. Ak sa nenájde žiadny podreťazec, funkcia strpos () vráti hodnotu FALSE (0).

    Nasledujúci príklad určuje pozíciu prvého výskytu dátumu v protokolovom súbore:

    $ log = "206.169.23.11:/www/:2000-08-10 206.169.23.11:/www/logs/:2000-02-04 206.169.23.11:/www/img/:1999-01-31" // Na akej pozícii v časopise sa prvýkrát objavuje ročník 1999? $ pos = strpos ($ log, "1999"); // $ pos = 95. pretože prvá inštancia je "1999" // je na pozícii 95 riadku obsiahnutého v premennej $ log

    strrpos ()

    Funkcia strrpos () nájde poslednú inštanciu zadaného znaku v reťazci. Syntax funkcie strrpos () je:

    int strpos (reťazec, znakový znak)

    Pokiaľ ide o možnosti, táto funkcia je nižšia ako jej náprotivok, funkcia strpos (), pretože vám umožňuje hľadať iba jeden znak a nie celý reťazec. Ak sa reťazec odovzdá v druhom parametri strrpos (), pri vyhľadávaní sa použije iba prvý znak.

    str_replace ()

    Funkcia str_replace () hľadá v reťazci všetky výskyty daného podreťazca a nahrádza ich novým podreťazcom. Syntax funkcie str_replace () je:

    string str_replace (podreťazec reťazca, nahradenie reťazca, reťazec reťazca)

    Funkcia substr_replace () opísaná ďalej v tejto časti vám umožňuje nahradiť iba špecifickú časť reťazca. Nasledujúci text ukazuje, ako sa funkcia str_replace () používa na vykonávanie globálnych náhrad na reťazci.

    Ak sa podreťazec nikdy nevyskytuje v reťazci, pôvodný reťazec sa nezmení:

    $ favorite_food = "Moje obľúbené jedlá sú zmrzlina a kuracie krídelká"; $ obľúbené_jedlo = str_replace ("kuracie_kridla", "pizza", $ favohte_food); // $ favorite_food = "Moje obľúbené jedlá sú zmrzlina a pizza"

    strstr ()

    Funkcia strstr () vracia časť reťazca začínajúcu prvým výskytom daného podreťazca. Syntax funkcie strstr () je:

    string strstr (reťazec reťazca, podreťazec reťazca)

    Nasledujúci príklad používa funkciu strstr () na extrahovanie názvu domény z adresy URL:

    $ url = "http://www.apress.com"; $ doména - strstr ($ url, "."); // doména $ = ".apress.com"

    substr ()

    Funkcia substr () vracia časť reťazca, ktorá začína na zadanej počiatočnej pozícii a má zadanú dĺžku. Syntax funkcie substr () je:

    string substr (string string, int start [, int length])

    Ak nie je zadaná dĺžka voliteľného parametra, predpokladá sa, že podreťazec začína na zadanej počiatočnej pozícii a pokračuje až do konca reťazca. Pri používaní tejto funkcie je potrebné zvážiť štyri veci:

    • ak je počiatočný parameter kladný, vrátený podreťazec začína na pozícii reťazca s daným číslom;
    • ak je počiatočný parameter záporný, vrátený podreťazec začína na pozícii (dĺžka reťazca - začiatok);
    • ak je dĺžka kladná, všetky znaky od počiatočnej pozície po začiatok + dĺžka sú zahrnuté vo vrátenom podreťazci. Ak posledná hodnota prekročí dĺžku reťazca, vrátia sa znaky do konca reťazca;
    • ak je dĺžka záporná, vrátený podreťazec končí v určenej vzdialenosti od konca reťazca.

    Pamätajte, že parameter štart určuje posun od prvého znaku reťazca; teda vrátený reťazec v skutočnosti začína na očíslovanom znaku (začiatok + 1).

    Nasledujúci príklad ukazuje výber časti reťazca pomocou funkcie substr ():

    $ auto = "Ford z roku 1944"; Smodel = substr ($ auto, 6); // Smodel = "Ford"

    Príklad s kladnou dĺžkou parametra:

    $ auto = "Ford z roku 1944"; $ model = substr ($ auto, 0, 4); // $ model = "1944" Príklad so záporným parametrom dĺžka: $ car = "1944 Ford"; $ model = substr ($ auto, 2, -5); // $ model = "44"

    substr_count ()

    Funkcia substr_count () vracia počet výskytov podreťazca v danom reťazci. Syntax funkcie substr_count () je: int substr_count (reťazec reťazca, podreťazec reťazca) V nasledujúcom príklade funkcia substr_count () počíta počet výskytov podreťazca ain: $ tng_twist = "Dážď padá hlavne na roviny Španielska“; $ count = substr_count ($ tng_twist, "ain"); // počet $ = 4

    substr_replace ()

    Funkcia substr_replace () nahrádza časť reťazca, ktorá začína na danej pozícii. Ak je zadaný voliteľný parameter length, časť zadanej dĺžky sa nahradí; v opačnom prípade sa výmena vykonáva po celej dĺžke náhradného reťazca. Syntax funkcie substr_replace () je:

    string substr_replace (reťazec reťazca, nahradenie reťazca, int začiatok [, dĺžka int])

    Parametre začiatku a dĺžky sú nastavené podľa určitých pravidiel:

    • ak je štartovací parameter kladný, výmena začína od danej pozície;
    • ak je počiatočný parameter záporný, nahradenie začína na pozícii (dĺžka reťazca -začiatok);
    • ak je parameter dĺžky kladný, nahradí sa fragment danej dĺžky;
    • ak je dĺžka záporná, nahradenie sa skončí na pozícii (dĺžka reťazca - dĺžka).

    Jednoduché nahradenie textu pomocou substr_replace () je demonštrované v nasledujúcom príklade:

    $ favs = "" obľúbené odkazy "; $ name =" Alessia "; // Parametre" 0, 0 "znamenajú, že nahradený fragment začína // a končí na prvej pozícii riadku. $ favs - substr_replace ($ obľúbené položky, $ name , 0, 0); vytlačiť $ obľúbené:

    výsledok:

    Alessiine obľúbené odkazy

    Konvertujte reťazce a súbory do formátu HTML a naopak

    Previesť reťazec alebo celý súbor do formátu vhodného na prezeranie vo webovom prehliadači (alebo naopak) je jednoduchšie, ako by sa na prvý pohľad mohlo zdať. PHP má na to špeciálne funkcie.

    Konverzia textu do HTML

    Rýchla konverzia obyčajného textu do formátu webového prehliadača je veľmi bežnou úlohou. Funkcie opísané v tejto časti vám pomôžu vyriešiť tento problém.

    nl2br ()

    Funkcia nl2br () nahrádza všetky znaky nového riadku (\ n) ich ekvivalentnými konštrukciami HTML.

    Syntax funkcie nl2br () je:

    string nl2br (reťazec reťazca)

    Nové riadky môžu byť viditeľné (t. j. explicitne zahrnuté v riadku) alebo neviditeľné (napríklad zadané v editore). Nasledujúci príklad skonvertuje textový reťazec do formátu HTML nahradením znakov \ n zlommi riadkov:

    // Textový reťazec zobrazený v editore. $ text_recipe = "Recept na párty omáčky: 1 plechovka dusených paradajok 3 polievkové lyžice čerstvej citrónovej šťavy Zmiešajte, vychladené."; // Previesť znaky nového riadku na
    $ htinl_recipe = nl2br ($ text_recipe) Následný výstup $ html_recipe odošle do prehliadača nasledujúci HTML text: Recept na párty omáčky:
    1 konzerva dusených paradajok
    3 lyžice čerstvej citrónovej šťavy
    Spolu premiešame, podávame studené.

    htmlentities ()

    Funkcia htmlentities () konvertuje znaky na ich ekvivalentné HTML konštrukcie. Syntax funkcie htmlentities je:

    string htmlentities (reťazec reťazca)

    Nasledujúci príklad vykonáva potrebnú náhradu znakov reťazcov na zobrazenie v prehliadači:

    $ user_input = Náklady na kuchársku knihu s názvom Cafe Francaise

    Funkcia htmlentities () momentálne funguje len pre znaky ISO-8559-1 (ISO-Latin-1). Taktiež neprevádza medzery na také, aké by ste očakávali.

    htmlspecialchars ()

    Funkcia htmlspecialchars () nahrádza niektoré znaky, ktoré majú v kontexte HTML špeciálny význam, ich ekvivalentnými konštrukciami HTML. Syntax funkcie htmlspecialchars () je:

    string htmlspecialchars (reťazec reťazca)

    Funkcia html špeciálne znaky () momentálne konvertuje nasledujúce znaky: & konvertuje na &; "" konvertuje na "; konvertuje na>.

    Táto funkcia pomáha najmä zabrániť používateľom zadávať značky HTML do interaktívnych webových aplikácií (ako sú elektronické fóra). Chyby v značke HTML môžu spôsobiť nesprávne vykreslenie celej stránky. Existuje však efektívnejšie riešenie tohto problému - úplne odstrániť značky z reťazca pomocou funkcie strip_tags ().

    Nasledujúci príklad demonštruje odstránenie potenciálne nebezpečných znakov pomocou funkcie htmlspeclalchars ():

    $ user_input = "Jednoducho nemôžem" dostať PHP a tie báječné recepty na varenie!"; $ conv_input = htmlspecialchars ($ user_input); // $ conv_input =" Jednoducho nemôžem "t<> PHP & amp tie báječné recepty na varenie!"

    Ak sa htmlspecialchars () používa v spojení s nl2br (), potom by sa mal volať po htmlspecialchars (). Inak konštrukcie
    generované volaním nl2br () sa skonvertujú na viditeľné znaky.

    get_html_translation_table ()

    Funkcia get_html_translation_table () poskytuje pohodlný prostriedok na konverziu textu na ekvivalenty HTML. Syntax funkcie get_htrril_translation_table () je:

    reťazec get_html_translation_table (tabuľka int)

    Funkcia get_html_translation_table () vracia jednu z dvoch prekladových tabuliek (definovaných parametrom table) používaných v štandardných funkciách htmlspecialchars () a htmlentities (). Návratovú hodnotu možno použiť v spojení s inou štandardnou funkciou, strtr (), na konverziu textu do HTML.

    Parameter tabuľky má jednu z dvoch hodnôt:

    • HTML_ENTITIES;
    • HTML_SPECIALCHARS.

    Nasledujúci príklad používa funkciu get_html_translation_table () pri konverzii textu do HTML:

    $ string = "La pasta e il piatto piu amato in Italy"; $ translate = get_html_translation_table (HTML_ENTITIES); print strtr ($ string, $ translate); // Špeciálne znaky sa skonvertujú na HTML konštrukcie // a v prehliadači sa vykreslia správne.

    Mimochodom, funkcia array_flip () vám umožňuje previesť text do HTML v opačnom smere a obnoviť pôvodný text. Predpokladajme, že namiesto tlače výsledku strtr () v predchádzajúcom príklade sme ho priradili k premennej $ preložený reťazec.

    V nasledujúcom príklade je pôvodný text obnovený funkciou array_flip ():

    $ translate = array_flip ($ translate); $ preložený_string - "La pasta é il piatto piú amato v Taliansku"; $ original_string = strtr ($ preložený_reťazec, $ translate); // $ original_string = "La pasta e il piatto piu amato in Italy";

    strtr ()

    Funkcia strtr () preloží reťazec, to znamená, že nahradí všetky znaky v zdrojovom reťazci zodpovedajúcimi znakmi v cieľovom reťazci. Syntax funkcie strtr () je:

    string strtr (reťazec reťazca, zdroj reťazca, cieľ reťazca)

    Ak majú zdrojový a cieľový reťazec rôznu dĺžku, dlhý reťazec sa skráti, aby sa zmestil na krátky reťazec.

    Existuje alternatívna syntax pre volanie strtr () s dvoma parametrami; v tomto prípade druhý parameter obsahuje asociatívne pole, ktorého kľúče zodpovedajú substituovaným podreťazcom a hodnoty substituovaným podreťazcom. Nasledujúci príklad nahrádza značky HTML konštrukciami podobnými XML:

    " => "

    ", "" => "

    "); $ string ="

    Dnes v novinkách založených na PHP

    "; print strtr ($ string, $ source); // Print string" Dnes v novinkách založených na PHP" ?>

    Konverzia HTML na obyčajný text

    Niekedy je potrebné previesť súbor HTML na obyčajný text. S touto úlohou vám pomôžu funkcie popísané nižšie.

    strip_tags ()

    Funkcia strip_tags () odstráni všetky značky HTML a PHP z reťazca a ponechá v ňom iba text. Syntax funkcie strip_tags () je:

    string strip_tags (reťazec reťazec [, reťazec povolených_terov])

    Voliteľný parameter allow_tags vám umožňuje určiť, ktoré značky by sa mali počas procesu odstraňovania preskočiť.

    Nižšie je uvedený príklad odstránenia všetkých značiek HTML z reťazca pomocou funkcie strip_tags ():

    $ user_input = "Ja len láska PHP a gurmán recepty!"; $ stripped_input = strip_tags ($ user_input); // $ stripped_input =" Jednoducho milujem PHP a gurmánske recepty! ";

    Nasledujúci príklad neodstráni všetky, ale iba niektoré značky:

    $ vstup = "I láska do jesť!! "; $ strip_input = strip_tags ($ user_input," "); // $ strip_input =" Milujem jesť!!";

    Odstránenie značiek z textu sa tiež vykonáva pomocou funkcie fgetss ().

    get_meta_tags ()

    Hoci get_meta_tags () priamo nesúvisí s transformáciou textu, je to veľmi užitočná funkcia, ktorú treba spomenúť. Syntax funkcie get_meta_tags () je:

    pole get_meta_tags (reťazec názvu súboru / url [, int include_path])

    Funkcia get_meta_tags () je navrhnutá na vyhľadávanie META značiek v súbore HTML.

    META tagy obsahujú informácie o stránke, ktorú primárne využívajú vyhľadávače. Tieto štítky sú vo vnútri páru štítkov .... Nasledujúci úryvok demonštruje použitie META tagov (nazvime ho example.html, pretože bude použitý vo výpise 8.2): PHP Recipes Funkcia get_meta_tags () hľadá tagy začínajúce META v hlavičke dokumentu a ukladá názvy tagov a ich obsah v asociatívnom poli. Výpis 8.2 ukazuje, ako sa táto funkcia aplikuje na súbor example.html. Výpis 8.2. Extrahovanie META značiek zo súboru HTML pomocou funkcie get_meta_tags ().

    $ meta_tags = get_meta_tags ("example.html"): // Premenná $ meta_tags obsahuje pole s nasledujúcimi informáciami: // $ meta_tags ["keywords"] = "PHP, kód, recepty, web" // $ meta_tags [ "description" ] = "Informácie o PHP" // $ meta_tags ["author"] = "KDG";

    Zaujímavý detail: údaje META tagov je možné extrahovať nielen zo súborov umiestnených na serveri, ale aj z iných URL.

    Preveďte reťazec na veľké a malé písmená

    PHP má štyri funkcie na zmenu veľkosti písmen v reťazci:

    strtolower ()

    Funkcia strtolower () konvertuje všetky abecedné znaky v reťazci na malé písmená. Syntax funkcie strtolower () je:

    string strtolower (strunová struna)

    Neabecedné znaky funkcia nezmení. Konverzia reťazca na malé písmená pomocou funkcie strtolower () je demonštrovaná v nasledujúcom príklade:

    $ veta = "VARENIE a PROGRAMOVANIE PHP sú moje DVA obľúbené!"; $ veta = strtolower ($ veta); // Po volaní funkcie obsahuje veta $ reťazec // "varenie a programovanie php sú moje dve obľúbené!"

    strtoupper ()

    Reťazce je možné previesť nielen na malé písmená, ale aj na veľké písmená. Konverziu vykonáva funkcia strtoupper (), ktorá má nasledujúcu syntax:

    string strtoupper (strunový reťazec)

    Neabecedné znaky funkcia nezmení. Konverzia reťazca na veľké písmená pomocou funkcie strtoupper () je demonštrovaná v nasledujúcom príklade:

    $ veta = "varenie a programovanie PHP sú moje dve obľúbené!"; $ veta = strtoupper ($ veta); // Po zavolaní funkcie $ veta obsahuje riadok // "VARENIE A PROGRAMOVANIE PHP SÚ MOJE DVA OBĽÚBENÉ!"

    ucfirst ()

    Funkcia ucfirst () skonvertuje prvý znak reťazca na veľké písmeno za predpokladu, že ide o abecedný znak. Syntax funkcie ucfirst () je:

    string ucfirst (reťazec reťazca)

    Neabecedné znaky funkcia nezmení. Konverzia prvého znaku reťazca pomocou funkcie ucfirst () je demonštrovaná na nasledujúcom príklade:

    & veta = "varenie a programovanie PHP sú moje dve obľúbené!"; $ veta = ucfirst ($ veta); // Po zavolaní funkcie $ veta obsahuje riadok // "Varenie a programovanie PHP sú moje dve obľúbené!"

    ucwords ()

    Funkcia ucwords () skonvertuje prvé písmeno každého slova v reťazci na veľké. Syntax funkcie ucwords () je:

    string ucwords (string string ")

    Neabecedné znaky funkcia nezmení. „Slovo“ je definované ako postupnosť znakov oddelená od zvyšku reťazca medzerami. Nasledujúci príklad demonštruje prevod prvých znakov slov pomocou funkcie ucwords ():

    $ veta = "varenie a programovanie PHP sú moje dve obľúbené!"; $ veta = ucwords ($ veta); // Po volaní funkcie obsahuje $ veta riadok // "Varenie a programovanie PHP sú moji dvaja najobľúbenejší!"

    strrchr ()

    strrchr ("reťazec", "o") - Nájde posledný výskyt podreťazca

    Ak sa podreťazec nenájde, vráti hodnotu FALSE.

    Na rozdiel od strchr (), ak hľadaný reťazec obsahuje viac ako jeden znak, použije sa iba prvý znak.

    Ak druhý parameter nie je reťazec, pretypuje sa na celé číslo a považuje sa za kód znaku.

    // získame posledný adresár z $ PATH $ dir = substr (strrchr ($ PATH, ":"), 1); // získať všetko po poslednom riadku $ text = "Riadok 1 \ nRiadok 2 \ nRiadok 3"; $ last = substr (strrchr ($ text, 10), 1);

    highlight_string ()

    highlight_string - zvýraznenie syntaxe reťazca.

    zmiešaný highlight_string (reťazec str [, bool return])

    Funkcia highlight_string () vypíše verziu str vo farbe syntaxe pomocou farieb definovaných vo zvýraznení syntaxe v riadku PHP.

    Ak je druhý návratový parameter TRUE, highlight_string () vráti zafarbenú verziu kódu ako reťazec, namiesto toho, aby ho vytlačil. Ak druhý parameter nie je TRUE, highlight_string () vráti TRUE pri úspechu, FALSE pri neúspechu.

    Poznámka: 1. Parameter return je dostupný od PHP 4.2.0. Predtým to fungovalo štandardne, t.j. FALSE.
    2. Funkcia Highlight_String () rozlišuje PHP kód podľa značiek. show_source ()- synonymum highlight_file ()... Na zmenu predvolenej farby zvýraznenia použite nasledujúce príkazy PHP:

    Highlight.bg #FFFFFF highlight.comment # FF8000 highlight.default # 0000BB highlight.html # 000000 highlight.keyword # 007700 highlight.string # DD0000 v .htaccess: php_flag highlight.bg #FFFFFF v PHP: if (@ighini_get ("@ighini_get" .bg ") =="") ...

    lomítka ()

    - Escape špeciálne znaky v reťazci

    Vráti výraz, v ktorom sa pred každý špeciálny znak pridá spätná lomka (\), napríklad na neskoršie použitie tohto reťazca v databázovom dotaze.

    Jednoduché úvodzovky ("), dvojité úvodzovky ("), spätná lomka (\) a NUL (bajt NULL) sú zakódované.

    $ str = "Je vaše meno O" reilly? "; // výstupy: Je vaše meno O \" reilly? echo lomítka ($ str);

    stripslashes

    - Odstraňuje escapovanie znakov produkovaných funkciou lomítka () Odstraňuje escapovanie spätných lomiek. (\ "konvertuje na" atď.). Dvojité spätné lomky (\\) sa skonvertujú na jednoduché spätné lomky (\).

    zalomenie slov ()

    Vykoná zalomenie riadku pre daný počet znakov pomocou znaku zalomenia riadka // Using wordwrap (). function cite ($ ourText, $ maxlen = 60, $ prefix = ">") ($ st = wordwrap ($ ourText, $ maxlen-strlen ($ prefix), "\ n"); $ st = $ prefix.str_replace ( "\ n", "\ n $ predpona", $ st); return $ st;) echo cite ("Prvý Matrix, ktorý som navrhol, bol celkom prirodzene dokonalý, bolo to umelecké dielo - bezchybné, vznešené. Triumf sa rovnal iba jeho monumentálnym zlyhaním. Nevyhnutnosť jeho záhuby je mi teraz zrejmá ako dôsledok nedokonalosti, ktorá je vlastná každej ľudskej bytosti. Preto som ho prepracoval na základe vašej histórie, aby presnejšie odrážal rôzne grotesky vašej povahy. bol opäť frustrovaný neúspechom.“, 20);

    > Prvý navrhnutý Matrix I> bol celkom> prirodzene> dokonalý, bolo to> umelecké dielo -> bezchybné, vznešené. Triumf, ktorý sa vyrovnal iba jeho monumentálnemu zlyhaniu. Nevyhnutnosť jeho záhuby je mi teraz zrejmá ako dôsledok nedokonalosti, ktorá je vlastná každej ľudskej bytosti. Preto som to prerobil na základe vašej histórie, aby presnejšie odrážal rôzne grotesky vašej povahy. > Opäť som bol však frustrovaný z neúspechu.


    Čítať ďalej: Objektové programovanie v PHP
    .

    PHP ponúka rôzne spôsoby vyhľadávania reťazcov v iných reťazcoch. Existujú obvyklé funkcie. Je možné použiť regulárne výrazy. Vývojár si môže vyvinúť vlastný spôsob hľadania informácií pri dodržaní pravidiel syntaxe.

    Vyhľadávanie reťazcov sa neobmedzuje len na potvrdenie prítomnosti požadovaného znaku alebo reťazca na správnom mieste. Objektom môže byť reťazec – ide o rozsiahlejší informačný koncept ako len reťazec. Vyhľadávanie je účinné najmä vtedy, keď je moment zistenia sprevádzaný okamžitým rozhodnutím a nevyžaduje ďalšie spracovanie.

    Základná funkcia vyhľadávania

    Search je funkcia strpos (). Jeho výsledkom je buď boolovská hodnota alebo pozícia výskytu hľadaného (druhý parameter) v reťazci (prvý parameter) od pozície (tretí parameter). Ak nie je zadaný posledný parameter, vyhľadávanie sa vykoná od nulovej pozície reťazca.

    Tento príklad ilustruje vyhľadávanie PHP v reťazci s použitím jedného znaku ako príkladu. Namiesto symbolu môžete použiť reťazec. PHP neobmedzuje programátora na veľkosti riadkov, ale rozumné limity sú nevyhnutné.

    Môžete vyhľadávať reťazce v reťazcoch spôsobom, v ktorom sa rozlišujú malé a veľké písmená, od prvého alebo posledného výskytu, a môžete použiť regulárne výrazy. Rovnako ako vo všetkých ostatných prípadoch je podstatné kódovanie stránky, na ktorej sa skript nachádza.

    V niektorých prípadoch má zmysel použiť radšej variant iconv_strpos () než len strpos (). V drvivej väčšine prípadov bude vyhľadávanie podreťazca v reťazci PHP úplne presné: stačí ponechať kódovanie stránky a reťazca v rovnakom kódovaní.

    Vlastnosti štandardného prístupu

    Ak vyhľadávanie podreťazca v reťazci PHP nemá žiadny výsledok: neexistuje žiadny výsledok vyhľadávania a výsledkom bude boolovská hodnota. Ak však požadovaný podreťazec začína od pozície nula, potom by sa to malo osobitne zdôrazniť pri operáciách porovnávania a analýzy výsledku. Keď je výsledok 0, nie je to oveľa ďalej od výsledku false.

    Na rozdiel od JavaScriptu je PHP pri reťazcoch konzervatívnejšie a dodnes sú reťazce reťazcami. Práca s nimi je riadená funkciami: od jednoduchých strpos úrovne až po zložité pomocou regulárnych výrazov.

    Musíte hľadať, aby ste:

    • rozhodnúť o smere algoritmu;
    • nahraďte to, čo hľadáte, niečím iným;
    • skontrolujte udalosť;
    • zvýšiť počítadlo štatistík atď.

    Toto je obvyklá logika algoritmu, JavaScript zašiel ďalej a rozpoznal „reťazce“ ako objekty. Samotné uznanie však v praxi nestačí. Ak abstrahujeme od pojmu „reťazec“ a chápeme ním skutočný objekt, otázku „hľadať reťazec v reťazci“ PHP umožní formulovať v kontexte reálnej metódy, napríklad jablko môže byť zrelé. , nielen keď je červená.

    Klasické vyhľadávanie slova „červené“ v popise jablka nie je zárukou spoľahlivej odpovede o zrelosti ovocia. Ak jablko nie je reťazec, ale objekt, potom PHP bude hľadať reťazec v reťazci nie ako strpos, ale ako metódu skutočného objektu. Neexistuje však žiadna záruka, že funkcia strpos bude použitá v tele metódy.

    Štandardné funkcie v zákazníckych riešeniach

    Charakteristickým znakom obvyklého spracovania informácií (osobou): postavenie, kde čo je, záleží, kedy je to cieľ alebo rozhodnutie. Vo všetkých ostatných prípadoch nezáleží na tom, kde sa čo nachádza, je dôležité, aby to bolo indikované a bolo základom pre ďalší postup.

    Vyhľadávanie sa vykonáva nepriamo vo funkciách trim, str_replace a ďalších. Zaujímavá možnosť vyhľadávania je k dispozícii pri použití rozloženia / implodovania spolu a manipulácii s poľami.

    Ak využijete všetky funkcie PHP, vyhľadávanie reťazcov ľahko získa sémantiku, prekročí bežnú syntax a stane sa dôvodom na získanie skutočného významu. Manipulácia s významom je pre ľudí známejšia, bezpečnejšia pre algoritmus a transformácia reťazcov na objekty je ako prechod zo strojových kódov do sveta moderných programovacích jazykov.

    Nájde prvý výskyt znaku v reťazci.

    Syntax:

    String strchr (kopa sena, ihla)

    Táto funkcia funguje rovnako ako funkcia strstr ().

    Určuje absenciu úvodných znakov v reťazci.
    Syntax:

    Int strcspn (reťazec str1, reťazec str2)

    Funkcia strspn () vracia dĺžku počiatočnej časti str1, čo úplne nie sú znaky v str2.

    strpbrk ()

    Vyhľadajte v reťazci ľubovoľný znak z danej sady (PHP5)

    Syntax:

    Reťazec strpbrk (kopa sena, zoznam znakov reťazca)

    strpbrk () hľadá v kope sena znaky z char_list a vracia reťazec začínajúci od pozície, kde bol znak nájdený (alebo FALSE, ak nebol nájdený žiadny znak). Char_list rozlišuje veľké a malé písmená.

    $ text = "Toto je jednoduchý text.";

    echo strpbrk ($ text, "mi"); // Vytvára "je to jednoduchý text." znak "i" sa vyskytuje skôr

    echo strpbrk ($ text, "S"); // Vráti "Jednoduchý text." znaky rozlišujú veľké a malé písmená
    ?>

    Nájde prvý výskyt podreťazca v reťazci.
    Syntax:

    String strstr (kopa sena, ihla)

    Funkcia strstr () vracia časť reťazca zadanú parametrom haystack od prvej časti zadanej ihly až po koniec.

    $ email = " [e-mail chránený]";
    $ doména = strstr ($ email, "@");
    // alebo $ doména = strstr ($ email, ord ("@"))
    echo $ doména;
    // zobrazí @ mail.ru

    Nájdenie prvého výskytu podreťazca, pričom sa nerozlišujú veľké a malé písmená.
    Syntax:

    Strunový stristr (kopa sena, strunová ihla)

    Funkcia stristr () vracia časť reťazca zadanú parametrom haystack od prvej časti zadanej ihly až po koniec.
    V prípade zlyhania vráti hodnotu false.
    Táto funkcia nerozlišuje malé a veľké písmená.
    Ak ihla nie je reťazec, hodnota sa prevedie na celé číslo a použije sa ako kód požadovaného znaku.

    Nájdite posledný výskyt podreťazca.
    Syntax:

    Strunový strrchr (kopa sena, ihla)

    Funkcia strrchr () vracia časť reťazca zadanú parametrom haystack, od poslednej časti špecifikovanej v parametri needle až po koniec.
    V prípade zlyhania vráti hodnotu false.
    Táto funkcia rozlišuje malé a veľké písmená.
    Ak ihla nie je reťazec, hodnota sa prevedie na celé číslo a použije sa ako kód požadovaného znaku.

    // získame posledný adresár v $ PATH
    $ dir = substr (strrchr ($ PATH, ":"), 1);
    // a tu dostaneme všetko za posledným riadkom $ text = "text 1nText2nText3";
    echo substr (strrchr ($ text, 10), 1);

    Vyhľadá polohu prvého výskytu podreťazca v zadanom reťazci.
    Syntax:

    Int strpos (reťazec kde, reťazec čo [, int odkiaľ])

    Funkcia strpos () sa pokúša nájsť podreťazec, ktorý bol v reťazci, a ak je úspešný, vráti pozíciu (index) tohto podreťazca v reťazci.
    Prvý znak reťazca má index 0. Nepovinný parameter fromwhere možno zadať, ak sa vyhľadávanie nemá vykonať od začiatku reťazca, ale z inej pozície. V tomto prípade by mala byť táto pozícia odovzdaná odkiaľ. Ak sa podreťazec nepodarilo nájsť, funkcia vráti hodnotu false.

    If (strpos ($ text, "a") === false) echo "Nenájdené!";
    // Kontrola: tri znamienka rovnosti

    Vyhľadá polohu prvého výskytu podreťazca v zadanom reťazci bez ohľadu na veľkosť písmen.
    Syntax:

    Int stripos (reťazec kde, reťazec čo [, int odkiaľ])

    Funkcia stripos () sa pokúša nájsť podreťazec, ktorý bol v reťazci, a ak je úspešná, vráti pozíciu (index) tohto podreťazca v reťazci.
    Na rozdiel od strpos () táto funkcia nerozlišuje veľké a malé písmená. Prvý znak reťazca má index 0.
    Voliteľný parameter fromwhere je možné zadať, ak nechcete hľadať od začiatku riadku, ale z inej pozície.
    V tomto prípade by mala byť táto pozícia odovzdaná odkiaľ. Ak sa podreťazec nepodarilo nájsť, funkcia vráti hodnotu false.
    Ak parameter what nie je reťazec, jeho hodnota sa skonvertuje na celé číslo a použije sa ako kód hľadaného znaku.

    $ mystring1 = "xyz";
    $ mystring2 = "ABC";

    $ pos1 = stripos ($ mystring1, $ findme);
    $ pos2 = stripos ($ mystring2, $ findme);

    // Samozrejme "a" nie je zahrnuté v "xyz"
    if ($ pos1 === false) (
    echo "String" $ findme "nebolo nájdené v reťazci" $ mystring1 "";
    }

    // Všimnite si, že sa používa ===. Použitie == zlyhá
    // výsledok, pretože "a" je na pozícii nula if ($ pos2! == false) (
    echo "Nájdené" $ findme "in" $ mystring2 "na pozícii $ poz2";
    }
    ?>

    Poznámka: Funkciu stripos () možno použiť na vyhľadanie údajov v binárnej forme.
    Podpora: PHP 5

    Nájde poslednú pozíciu v zadanom reťazci, na ktorej sa nachádza zadaný kus.
    Syntax:

    Int strrpos (reťazec kde, reťazec čo)

    Táto funkcia hľadá v riadku kde poslednú pozíciu, na ktorej sa nachádza symbol toho, čo sa vyskytlo (ak je čo
    reťazec niekoľkých znakov, potom sa zistí len prvý z nich, ostatné nehrajú žiadnu rolu).

    Ak je požadovaný znak prvý v riadku alebo nie je prítomný vôbec, funkcia vráti 0.

    Ak sa požadovaný znak nenájde, vráti hodnotu false.

    substr_count

    Zistí počet výskytov fragmentu v reťazci.
    Syntax:

    Int substr_count (reťazec kde, reťazec čo)

    Funkcia substr_count () vracia počet častí, ktoré sú prítomné v reťazci where.

    Echo substr_count ("www.spravkaweb.ru", ".");
    // Vytlačí 3

    Určuje prítomnosť vedúcich znakov v reťazci.
    Syntax:

    Int strspn (reťazec str1, reťazec str2)

    Funkcia strspn () vracia dĺžku počiatočnej časti str1, ktorá pozostáva výlučne zo znakov v str2.

    Echo strspn ("www.spravkaweb.ru", "abc");
    // Vytlačí 3