Mam pytanie odnośnie wyrażeń regularnych i funkcji preg_*. Po pierwsze, gdzieś na wiki przeczytałem, że preg_ jest lepsze od ereg_, czy ktoś krótko mógłby to uzasadnić?
Po drugie czy mógłbym prosić o wyjaśnienie przykładu z manuala:
Kod
<?php
$patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/', '/^\s*{(\w+)}\s*=/');
$replace = array ('\3/\4/\1\2', '$\1 =');
echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27');
?>
$patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/', '/^\s*{(\w+)}\s*=/');
$replace = array ('\3/\4/\1\2', '$\1 =');
echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27');
?>
Nie rozumiem, zasady działania \1, \3. \4 ... w zasadzie to całej tablicy $replace.
I jeszcze czy element tablicy $replace zawsze zadziała na element o tym samym indeksie w tablicy $patterns czyli $replace[0] będzie działała na $patterns[0] i analogicznie $replace[1] na $patterns[1] ?