PHP-de regulýar ifadeler bilen tanyşyk
Regulýar ifadeler - çylşyrymly gözlem we çalşyrmak üçin şeýle buýruklardyr. Olar örän gyzykly zatlar etmäge mümkinçilik berýär, emma, gynansagam, öwrenmekde bisatyra.
Regulýar ifadeler bilen işlemek üçin birnäçe PHP funksiýasy bar.
Biz olar bilen preg_replace mysalynda tanyşarys. Bu
funksiýa birinji parametr hökmünde näme çalşyrmaly, ikinjide - näme bilen çalşyrmaly, üçünji parametr hökmünde
bolsa çalşyrylmagyň zerurly bolan setiri kabul edýär:
<?php
preg_replace(näme çalşyrmaly, näme bilen, setir);
?>
Şol bir wagtynda birinji parametr hökmünde biziň funksiýamyz
ýönekeý setir däl, regulýar ifade kabul edýär,
öz içinde # nyşanynyň içinde ýerleşen buýruklar toplumy bolan setir bolup durýar.
Bu reşetkeler regulýar ifadeleriň çäklendirijileri
diýilýär.
Çäklendirijilerden soň modifikatorlar ýazyp bolýar - regulýar ifadäniň umumy aýratynlyklaryny üýtgedýän buýruklar.
Regulýar ifadelerin özleri iki görnüşli nyşandan ybarat: özlerini aňladýanlardan we ýörite nyşanlar diýilýän buýruk-nyşanlardan.
Harplar we sanlar özlerini aňladýar. Indiki
mysalda biz regulýar ifade kömegi bilen
'a' harpyny '!' bilen çalşyrarys:
<?php
preg_replace('#a#', '!', 'bab'); // 'b!b' gaýtarar
?>
Emma nokat ýörite nyşan bolup
islendik nyşany aňladýar. Indiki
mysalda biz şeýle şablona görä setiri taparys:
'x' harpy, soňra islendik nyşan, soňra
ýene 'x' harpydy:
<?php
preg_replace('#x.x#', '!', 'xax eee'); // '! eee' gaýtarar
?>
Setir berlen:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Şablona görä: 'a' harpydy, islendik nyşan,
'b' harpydy şeýle setirleri
'ahb', 'acb', 'aeb'
tapjak regulýar ifade ýazyň.
Setir berlen:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Şablona görä: 'a' harpydy, iki islendik
nyşan, 'b' harpydy şeýle setirleri
'aeeb', 'adcb', 'axeb'
tapjak regulýar ifade ýazyň.