⊗ppSpOtRg 79 of 83 menu

Regulāro izteiksmju optimizācija PHP

Regulārās izteiksmes ir ļoti smags un salīdzinoši lēni strādājošs rīks. Kad ir alternatīvs risinājums, vēlams izmantot tieši to.

Apskatīsim piemēru. Pieņemsim, ka mums ir jāpārbauda, vai kāda virkne sākas ar izsaukuma zīmi. Kāds programmētājs šo problēmu atrisināja ar regulāro izteiksmi:

<?php if (preg_match('#^!#', $str)) { echo 'jā'; } else { echo 'nē'; } ?>

Tomēr, šai problēmai ir daudz ātrāks risinājums:

<?php if ($str[0] == '!') { echo 'jā'; } else { echo 'nē'; } ?>

Regulārās izteiksmes ir ļoti smags un salīdzinoši lēni strādājošs rīks. Vienmēr, kur ir alternatīvs risinājums, vēlams izmantot tieši to.

Nākamajā kodā kāds programmētājs pārbauda, vai virknē ir apakšvirkne '333'. Optimizējiet šī programmētāja risinājumu.

Lūk, kods:

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

Nākamajā kodā kāds programmētājs pārbauda, vai virkne beidzas ar .html. Optimizējiet šī programmētāja risinājumu.

Lūk, kods:

<?php $str = 'index.html'; if (preg_match('#\.html$#', $str)) { echo 'jā'; } else { echo 'nē'; } ?>

Uzrakstiet kodu, kas pārbaudīs, vai virkne beidzas ar .png vai ar .jpg.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt