Я видел код какПонимание того, как функция preg_replace работает
<?php
$str = 'foo 112';
$str = preg_replace('/[0-9]+/', '2000', $str);
// This will be 'foo o' now
echo $str;
?>
выход приходит как foo 2000
. Я смущен, так как я знал, что [0-9] + проверяет количество в диапазоне и один или несколько. Если он не производит o/p, как 200020002000?
нет, поскольку он соответствует всем цифрам за один раз. '+' означает «один или несколько». regexes по-прежнему жадные. –
Коэффициент '+' соответствует произвольной длине, заданной charclass. Таким образом, он разрывает все цифры. – mario