Пример:
$string = "This is some text written on 2010-07-18.";
preg_match('|(?\d\d\d\d-\d\d-\d\d)|i', $string, $arr_result);
print_r($arr_result);
Возвраты:
Array
(
[0] => 2010-07-18
[date] => 2010-07-18
[1] => 2010-07-18
)
Но я хочу, чтобы это было:
Array
(
[date] => 2010-07-18
)
В объекте PDO PHP существует опция, которая фильтрует результаты базы данных путем удаления этих, дубликат пронумеровал значения: PDO::FETCH_ASSOC
. Но я еще не видел подобный модификатор для функций PCRE в PHP.
Я не думаю, что вы можете заставить preg_*
сделать это, но вы можете сделать это с помощью простого цикла. Но я не понимаю, почему эти элементы представляют проблему.
Попробуйте это:
$string = "This is some text written on 2010-07-18.";
preg_match('|(?<date>\d\d\d\d-\d\d-\d\d)|i',$string,$arr_result);
echo $arr_result['date'];