⊗ppSpOtRg 79 of 83 menu

Optimalizace používání regulárních výrazů v PHP

Regulární výrazy jsou velmi náročná a poměrně pomalu pracující věc. Když existuje alternativní řešení, je vhodné používat právě to.

Podívejme se na příklad. Předpokládejme, že potřebujeme zkontrolovat, zda nějaký řetězec začíná vykřičníkem. Jistý programátor tento úkol vyřešil pomocí regulárního výrazu:

<?php if (preg_match('#^!#', $str)) { echo 'ano'; } else { echo 'ne'; } ?>

Nicméně, tento úklad má mnohem rychlejší řešení:

<?php if ($str[0] == '!') { echo 'ano'; } else { echo 'ne'; } ?>

Regulární výrazy jsou velmi náročná a poměrně pomalu pracující věc. Vždy, když existuje alternativní řešení, je vhodné používat právě to.

V následujícím kódu jistý programátor kontroluje, zda se v řetězci nachází podřetězec '333'. Optimalizujte řešení tohoto programátora.

Zde je kód:

<?php $str = '1233345'; if (preg_match('#333#', $str)) { echo 'ano'; } else { echo 'ne'; } ?>

V následujícím kódu jistý programátor kontroluje, zda řetězec končí na .html. Optimalizujte řešení tohoto programátora.

Zde je kód:

<?php $str = 'index.html'; if (preg_match('#\.html$#', $str)) { echo 'ano'; } else { echo 'ne'; } ?>

Napište kód, který bude kontrolovat, zda řetězec končí na .png nebo na .jpg.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout