function StreamWrapperManager::getTarget
Same name and namespace in other branches
- 8.9.x core/lib/Drupal/Core/StreamWrapper/StreamWrapperManager.php \Drupal\Core\StreamWrapper\StreamWrapperManager::getTarget()
- 10 core/lib/Drupal/Core/StreamWrapper/StreamWrapperManager.php \Drupal\Core\StreamWrapper\StreamWrapperManager::getTarget()
- 11.x core/lib/Drupal/Core/StreamWrapper/StreamWrapperManager.php \Drupal\Core\StreamWrapper\StreamWrapperManager::getTarget()
Returns the part of a URI after the schema.
Parameters
string $uri: A stream, referenced as "scheme://target" or "data:target".
Return value
string|bool A string containing the target (path), or FALSE if none. For example, the URI "public://sample/test.txt" would return "sample/test.txt".
Overrides StreamWrapperManagerInterface::getTarget
1 call to StreamWrapperManager::getTarget()
- StreamWrapperManager::normalizeUri in core/
lib/ Drupal/ Core/ StreamWrapper/ StreamWrapperManager.php - Normalizes a URI by making it syntactically correct.
File
-
core/
lib/ Drupal/ Core/ StreamWrapper/ StreamWrapperManager.php, line 215
Class
- StreamWrapperManager
- Provides a StreamWrapper manager.
Namespace
Drupal\Core\StreamWrapperCode
public static function getTarget($uri) {
// Remove the scheme from the URI and remove erroneous leading or trailing,
// forward-slashes and backslashes.
$target = trim(preg_replace('/^[\\w\\-]+:\\/\\/|^data:/', '', $uri), '\\/');
// If nothing was replaced, the URI doesn't have a valid scheme.
return $target !== $uri ? $target : FALSE;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.