$inputurlSegmentStr()

Get the string of URL segments separated by slashes

  • Note that return value lacks leading or trailing slashes.
  • URL segments must be enabled in the template settings (for template used by the page).
  • The maximum segments allowed can be adjusted in your $config->maxUrlSegments setting.
  • URL segments are populated by ProcessWire automatically on each request.
  • URL segments are already sanitized as page names.
  • The URL segment string can also be accessed by property: $input->urlSegmentStr.

Example

// Adjust output according to urlSegmentStr
// In this case our urlSegmentStr is 2 URL segments
$s = $input->urlSegmentStr();
if($s == 'photos/large') {
  // show large photos
} else if($s == 'photos/small') {
  // show small photos
} else if($s == 'map') {
  // show map
} else if(strlen($s)) {
  // something we don't recognize
  throw new Wire404Exception();
} else {
  // no URL segments present, do some default behavior
  echo $page->body;
}

Usage

// basic usage
$string = $input->urlSegmentStr();

// usage with all arguments
$string = $input->urlSegmentStr($verbose = false, array $options = []);

Arguments

NameType(s)Description
$verbose (optional)bool array

Include pagination number (pageNum) and trailing slashes, when appropriate? Default:false

  • Use this option for a more link-ready version of the URL segment string 3.0.106.
  • Optionally substitute $options argument for this argument, default for $verbose option remains false 3.0.155+.
$options (optional)array

Options to adjust behavior 3.0.106:

  • segments (array): Optionally specify URL segments to use, rather than those from current request. Default:[]
  • values (array): Same as segments option, but associative array converted to /key1/value1/key2/value2/ segment string. Default:[] 3.0.155+
  • pageNum (int): Optionally specify page number to use rather than current. Default:current page number
  • page (Page): Optionally specify Page to use for context. Default:current page
  • verbose (bool): Verbose argument from method, applies only if $options given for $verbose argument.
  • NOTE the pageNum and page options are not applicable unless the $verbose argument is true.

Return value

string

URL segment string, i.e. segment1/segment2/segment3 or blank if none

See Also


$input methods and properties

API reference based on ProcessWire core version 3.0.252