Параметр replacement может содержать ссылки вида \\п. Каждая такая ссылка будет заменена на подстроку, соответствующую п раз повторяющимся круглым скобкам, п может принимать значения от 0 до 99, причем ссылка \\о соответствует вхождению всего шаблона. Выражения в круглых скобках нумеруются слева направо, начиная с единицы.
Если во время выполнения функции были обнаружены совпадения с шаблоном, будет возвращено измененное значение subject, в противном случае будет возвращен исходный текст subject.
Первые три параметра функции pregrepiace() могут быть одномерными массивами. В случае если массив использует ключи, при обработке массива они будут взяты в том порядке, в котором расположены в массиве.
Поведение этой функции во многом сходно с pregrepiace (), за исключением того, что вместо параметра replacement необходимо указывать функцию callback, которой в качестве входящего параметра передается массив найденных вхождений. Функция обратного вызова callback возвращает строку, в которой будет произведена замена. Пример использования данной функции будет приведен в разд. "Подстановка с использованием собственных тегов форматирования" далее в этой главе.
PREG_SPLIT_OFFSET_CAPTURE - если этот флаг задан, для каждой найденной подстроки будет указана ее позиция в исходной строке. Этот флаг меняет формат возвращаемых данных: каждое вхождение возвращается в виде массива, в нулевом элементе которого содержится найденная подстрока, а в первом - смещение.