About Sanitizer EasySlugger

Allows the use of the EasySlugger library as Sanitizer methods.

Category Other Modules
Modules that have a unique purpose not covered by existing categories.
Release StateBeta
Close to stable, but users are advised to be cautious and test thoroughly.*
Authorrobin-s
Module Version0.1.0
Class NameSanitizerEasySlugger
Compatibility3.0
Date AddedNovember 7, 2019
Recommended ByNew recommendations may take up to 1 day to appear.

Instructions

This module's files should be placed in /site/modules/SanitizerEasySlugger/
How to install or uninstall modules

README

Sanitizer EasySlugger

A module for ProcessWire CMS/CMF. Allows the use of the EasySlugger library as Sanitizer methods.

Installation

Install the Sanitizer EasySlugger module.

Usage

The module adds four new sanitizer methods.

slugger($string, $options)

Similar to $sanitizer->pageName() - I'm not sure if there are any advantages over that method. Included because it is one of the methods offered by EasySlugger.

$slug = $sanitizer->slugger('Lorem Ipsum');
// Result: lorem-ipsum

utf8Slugger($string, $options)

Creates slugs from non-latin alphabets.

$slug = $sanitizer->utf8Slugger('这个用汉语怎么说');
// Result: zhe-ge-yong-han-yu-zen-me-shuo

seoSlugger($string, $options)

Augments the string before turning it into a slug. The conversions are related to numbers, currencies, email addresses and other common symbols.

$slug = $sanitizer->seoSlugger('The price is $5.99');
// Result: the-price-is-5-dollars-99-cents

See the EasySlugger readme for some more examples.

seoUtf8Slugger($string, $options)

A combination of utf8Slugger() and seoSlugger().

$slug = $sanitizer->seoUtf8Slugger('价钱是 $5.99');
// Result: jia-qian-shi-5-dollars-99-cents

$options argument

Each of the methods can take an $options array as a second argument.

  • separator (string): the character that separates words in the slug. Default: -
  • unique (bool): Determines whether a random suffix is added at the end of the slug. Default: false
$slug = $sanitizer->utf8Slugger('这个用汉语怎么说', ['separator' => '_', 'unique' => true]);
// Result: zhe_ge_yong_han_yu_zen_me_shuo_3ad66c4