Sanitize as a ProcessWire page name
Page names by default support lowercase ASCII letters, digits, underscore, hyphen and period.
Because page names are often generated from a UTF-8 title, UTF-8 to ASCII conversion will take place when
$beautify
is enabled.You may optionally omit the
$beautify
and/or$maxLength
arguments and substitute the$options
array instead.When substituted, the beautify and maxLength options can be specified in $options as well.
If
$config->pageNameCharset
is "UTF8" then non-ASCII page names will be converted to punycode ("xn-") ASCII page names, rather than converted, regardless of$beautify
setting.
Example
$test = "Hello world!";
echo $sanitizer->pageName($test, true); // outputs: hello-world
Usage
// basic usage
$string = $sanitizer->pageName(string $value);
// usage with all arguments
$string = $sanitizer->pageName(string $value, $beautify = false, $maxLength = 128, array $options = []);
Arguments
Name | Type(s) | Description |
---|---|---|
value | string | Value to sanitize as a page name |
beautify (optional) | bool, int, array | This argument accepts a few different possible values (default=false):
|
maxLength (optional) | int, array | Maximum number of characters allowed in the name. You may also specify the $options array for this argument instead. |
options (optional) | array | Array of options to modify default behavior. See Sanitizer::name() method for available options. |
Return value
string
See Also
$sanitizer methods and properties
API reference based on ProcessWire core version 3.0.236