Reputation: 12262
$string = '20110306';
$pattern = '(\d{6})(\d{2})';
$replacement = '$101';
echo preg_replace($pattern, $replacement, $string);
I want it to echo 20110301
I used http://gskinner.com/RegExr/ to come up with the search and replacement pattern, maybe I am missing something when it comes to replacing the found pattern.
It gives me the following warning:
Message: preg_replace() [function.preg-replace]: Unknown modifier '('
Upvotes: 1
Views: 347
Reputation: 455020
Two changes:
You need to place the regex between a pair delimiters, say /
as::
$pattern = '/(\d{6})(\d{2})/';
$101
refers to group number 101
. You meant to append 01
to group number 1
so change
$replacement = '$101';
to
$replacement = '${1}01';
Upvotes: 5