$sanitizer->chars() method

Sanitize string value to have only the given characters

You must provide a string of allowed characters in the $allow argument. If not provided then the only [ a-z A-Z 0-9 ] are allowed. You may optionally specify [alpha] to refer to any ASCII alphabet character, or [digit] to refer to any digit.

Available since version 3.0.126.

Example

echo $sanitizer->chars('foo123barBaz456', 'barz1'); // Outputs: 1baraz
echo $sanitizer->chars('(800) 555-1234', '[digit]', '.');  // Outputs: 800.555.1234
echo $sanitizer->chars('Decatur, GA 30030', '[alpha]', '-'); // Outputs: Decatur-GA
echo $sanitizer->chars('Decatur, GA 30030', '[alpha][digit]', '-'); // Outputs: Decatur-GA-30030

Usage

// basic usage
$string = $sanitizer->chars(string $value);

// usage with all arguments
$string = $sanitizer->chars(string $value, $allow = '', string $replacement = '', bool $collapse = true, $mb = null);

Arguments

NameType(s)Description
valuestring

Value to sanitize

allow (optional)string, array

Allowed characters string. If omitted then only alphanumeric [ a-z A-Z 0-9 ] are allowed. Use shortcut [alpha] to refer to any “a-z A-Z” char or [digit] to refer to any digit.

replacement (optional)string

Replace disallowed chars with this char or string, or omit for blank. (default='')

collapse (optional)bool

Collapse multiple $replacement chars to one and trim from return value? (default=true)

mb (optional)bool, null

Specify bool to force use of multibyte on or off, or omit to auto-detect. (default=null)

Return value

string


$sanitizer methods and properties

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #527
    In the 527th issue of ProcessWire Weekly we'll check out what's new in the core this week, introduce a new third party module called Lister Calculator, and more. Read on!
    Weekly.pw / 15 June 2024
  • ProFields Table Field with Actions support
    This week we have some updates for the ProFields table field (FieldtypeTable). These updates are primarily focused on adding new tools for the editor to facilitate input and management of content in a table field.
    Blog / 12 April 2024
  • Subscribe to weekly ProcessWire news

“I am currently managing a ProcessWire site with 2 million+ pages. It’s admirably fast, and much, much faster than any other CMS we tested.” —Nickie, Web developer