⊗ppPmRgInr 223 of 447 menu

Úvod do regulárních výrazů v PHP

Regulární výrazy jsou příkazy pro složité vyhledávání a nahrazování. Umožňují dělat velmi zajímavé věci, ale bohužel jsou poměrně těžké na osvojení.

Existuje několik funkcí PHP pro práci s regulárními výrazy. Seznámíme se s nimi na příkladu preg_replace. Tato funkce přijímá jako první parametr co nahradit, jako druhý - za co nahradit a jako třetí parametr - řetězec, ve kterém se má nahrazovat:

<?php preg_replace(co nahradit, za co, řetězec); ?>

Přitom první parametr naše funkce nepřijímá jen prostý řetězec, ale regulární výraz, který představuje řetězec se sadou příkazů, umístěných uvnitř znaků mřížky #. Tyto mřížky se nazývají oddělovače regulárních výrazů.

Za oddělovači lze psát modifikátory - příkazy, které mění obecné vlastnosti regulárního výrazu.

Samotné regulární výrazy se skládají ze dvou typů znaků: z těch, které označují samy sebe a ze znaků-příkazů, které se nazývají speciální znaky.

Písmena a číslice označují samy sebe. V následujícím příkladě pomocí regulárního výrazu nahradíme písmeno 'a' za '!':

<?php preg_replace('#a#', '!', 'bab'); // vrátí 'b!b' ?>

Například tečka je speciální znak a označuje libovolný znak. V následujícím příkladě najdeme řetězec podle tohoto vzoru: písmeno 'x', poté libovolný znak, poté znovu písmeno 'x':

<?php preg_replace('#x.x#', '!', 'xax eee'); // vrátí '! eee' ?>

Je dán řetězec:

<?php $str = 'ahb acb aeb aeeb adcb axeb'; ?>

Napište regulární výraz, který najde řetězce 'ahb', 'acb', 'aeb' podle vzoru: písmeno 'a', libovolný znak, písmeno 'b'.

Je dán řetězec:

<?php $str = 'ahb acb aeb aeeb adcb axeb'; ?>

Napište regulární výraz, který najde řetězce 'aeeb', 'adcb', 'axeb' podle vzoru: písmeno 'a', dva libovolné znaky, písmeno 'b'.

Č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