Отличие функции strreplace от регулярного выражения pregreplace заключается в том, что они выполняют разные задачи:
- str_replace ищет в строке все вхождения заданной подстроки и заменяет их новой подстрокой. 3 Например, если подстрока «foo», то она будет соответствовать только себе и заменяться на себя же. 2
- preg_replace выполняет поиск по шаблону с последующей заменой на указанную строку. 1 В качестве первого параметра здесь принимается не просто строка, а регулярное выражение. 1 Например, шаблон '/f.{2}/' будет соответствовать и заменять не только «foo», но и «fey», «fir», «fox», «f12» и другие. 2
Таким образом, strreplace заменяет конкретное вхождение строки, а pregreplace — выполняет поиск и замену по неопределённому шаблону с помощью регулярных выражений. 2