1 language.inc language_url_split_prefix($path, $languages)

Splits the given path into prefix and actual path.

Parse the given path and return the language object identified by the prefix and the actual path.

Parameters

$path: The path to split.

$languages: An array of valid languages.

Return value

An array composed of::

  • A language object corresponding to the identified prefix on success, FALSE otherwise.
  • The path without the prefix on success, the given path otherwise.

Related topics

File

core/includes/language.inc, line 478
Language Negotiation API.

Code

function language_url_split_prefix($path, $languages) {
  $args = empty($path) ? array() : explode('/', $path);
  $prefix = array_shift($args);

  // Search prefix within enabled languages.
  $prefixes = locale_language_negotiation_url_prefixes();
  foreach ($languages as $language) {
    if (isset($prefixes[$language->langcode]) && $prefixes[$language->langcode] == $prefix) {
      // Rebuild $path with the language removed.
      return array($language, implode('/', $args));
    }
  }

  return array(FALSE, $path);
}