Увод у регуларне изразе у PHP
Регуларни изрази су такве команде за сложено претраживање и замену. Они омогућавају да се раде веома занимљиве ствари, али, нажалост, прилично су тешки за савладавање.
Постоји неколико функција PHP за рад
са регуларним изразима. Почећемо да се упознајемо
са њима на примеру preg_replace. Ова
функција првим параметром прима шта заменити,
а другим - чиме заменити, а трећим параметром
- стринг, у коме треба заменити:
<?php
preg_replace(шта заменити, чиме, стринг);
?>
При томе првим параметром наша функција прима
не само стринг, већ регуларни израз,
који представља стринг са сетом команди,
смештених унутар симбола тарабе #.
Ове тарабе се називају ограничачима
регуларних израза.
Након ограничача може се писати модификаторе - команде, које мењају општа својства регуларног израза.
Сами регуларни изрази се састоје од два типа симбола: од оних, који означавају саме себе и од симбола-команди, који се зову специјални симболи.
Слова и бројеви означавају саме себе. У следећем
примеру ћемо уз помоћ регуларног израза
заменити слово 'a' са '!':
<?php
preg_replace('#a#', '!', 'bab'); // вратиће 'b!b'
?>
А тачка је специјални симбол
и означава било који симбол. У следећем
примеру ћемо пронаћи стринг према таквом шаблону:
слово 'x', затим било који симбол, затим
опет слово 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // вратиће '! eee'
?>
Дат је стринг:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Напишите регуларку, која ће пронаћи стрингове
'ahb', 'acb', 'aeb'
према шаблону: слово 'a', било који симбол,
слово 'b'.
Дат је стринг:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Напишите регуларку, која ће пронаћи стрингове
'aeeb', 'adcb', 'axeb'
према шаблону: слово 'a', два било која
симбола, слово 'b'.