Помогите с preg_replace

Segey
На сайте с 23.08.2005
Offline
404
539

<?php

$string = "April 15, 2003";
$pattern = "/(\w+) (\d+), (\d+)/i";
$replacement = "\${1}1,\$3";
echo preg_replace($pattern, $replacement, $string);
?>

Собственно это с php.net код. Я никак немогу понять по каким принципам составлен $replacement? Объясните, что это означает на русском :confused:

Brexit - уже совсем рядом. (https://about-this-model.blogspot.com/2019/03/brexit.html)
[Удален]
#1

А что именно не понятно?

В строке $pattern все что в круглых скобках будет запоминаться под рядковыми номерами 1, 2, 3

В строку $replacement подставляются значения найденных подстрок

Вместо ${1} подставится значение из "(\w+)" а вместо $3 подставится значение из второго (\d+)

${1} - тут скобки используются для того чтобы последующая цифра 1 не мешала работе.

результатом работы будет

April1,2003

Segey
На сайте с 23.08.2005
Offline
404
#2

Mosik,

А его можно составлять как например:

$repl = "";

Т.е. пустая строка?

[Удален]
#3

Можно, вернет тогда пустую строку. А можно еще и параметрами передавать массивы.

Подробнее тут - http://php.ru/manual/function.preg-replace.html

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий