⊗ppSpOtRg 79 of 83 menu

Optymalizacja wykorzystania wyrażeń regularnych w PHP

Wyrażenia regularne są bardzo ciężkie i stosunkowo wolno działające. Gdy istnieje alternatywne rozwiązanie, warto korzystać właśnie z niego.

Spójrzmy na przykład. Załóżmy, że musimy sprawdzić, czy pewien ciąg znaków zaczyna się od wykrzyknika. Pewien programista rozwiązał to zadanie za pomocą wyrażenia regularnego:

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

Jednakże, to zadanie ma znacznie szybciej działające rozwiązanie:

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

Wyrażenia regularne są bardzo ciężkie i stosunkowo wolno działające. Zawsze, gdy istnieje alternatywne rozwiązanie, warto korzystać właśnie z niego.

W następnym kodzie pewien programista sprawdza, czy w ciągu znaków znajduje się podciąg '333'. Zoptymalizuj rozwiązanie tego programisty.

Oto kod:

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

W następnym kodzie pewien programista sprawdza, czy ciąg znaków kończy się na .html. Zoptymalizuj rozwiązanie tego programisty.

Oto kod:

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

Napisz kod, który sprawdzi, czy ciąg znaków kończy się na .png lub na .jpg.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć