Не проверено:
$url = preg_replace('#(?<=^[a-z]+://[^/]+/)#i', "es/", $url);
Используйте '#' для разграничения регулярного выражения, чтобы не было необходимости экранировать косую черту.
(?<=...)
ищет совпадение для [a-z]://[^/]+/
без включения в соответствующую строку.
[a-z]+://[^/]/
соответствует последовательности букв, за которыми следует ://
, за которыми следуют не косая черта, а затем косая черта.Это будет обрабатывать все веб-протоколы, в частности http
и https
.
Небольшой i
делает поиск нечувствительным к регистру.
Замена просто вставляет es/
после совпадения.