Как перейти от uri, например: /en/joe-doe/contact к joe-doe/contact? Язык динамичен и может меняться.
Ури: /en/joe-doe/contact/form
Разыскивается ури : joe-doe/contact/form
Если вы знаете код языка - вы можете просто вернуть сегмент после /code/.
проблема в том, что мне нужно получить правильный URL-адрес, а затем обрезать его в коде, чтобы получить правильный сегмент






Для этого вам не нужно регулярное выражение. Просто используйте str_replace и удалите /en/ из строки.
PHP-код,
$s = "/en/joe-doe/contact";
echo str_replace('/en/', '', $s);
Выход,
joe-doe/contact
Но если строка в начале является динамической, вы можете использовать это регулярное выражение,
^/[^/]*/
И замените его пустой строкой.
Демонстрация регулярных выражений
PHP-коды,
$s = "/somedynamic string/joe-doe/contact";
echo preg_replace('~/[^/]*/~', '', $s);
Принты,
joe-doe/contact
Также добавлено решение регулярного выражения, если ваша строка в начале является динамической.
с последним проблема в следующем: /en/dfsdafasdfa-dsfa/dsfafasd-sdfas/232314 -> dfsdafasdfa-dsfa232314 я потерял другой / после сегмента 0
Какую строку вы ожидаете от этой /it/dfsdafasdfa-dsfa/dsfafasd-sdfas/232314? Это dfsdafasdfa-dsfa232314? Не могли бы вы добавить эти и, лучше, другие строки в свой пост и ожидаемый результат?
Это: dfsdafasdfa-dsfa/dsfafasd-sdfas/232314
@Neo: вы получите это с помощью решения для регулярных выражений, которое я добавил в свой ответ. Проверь это
Зачем вам нужно регулярное выражение, если строка исправлена. Просто используйте метод подстроки и получите его.