SanitizerEasySlugger by Robin S

Allows the use of the EasySlugger library as Sanitizer methods.

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

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Latest news

  • ProcessWire Weekly #549
    In the 549th issue of ProcessWire Weekly we’re going to check out the latest core updates, highlight one older yet still very relevant third party module, and more. Read on!
    Weekly.pw / 17 November 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“Indeed, if ProcessWire can be considered as a CMS in its own right, it also offers all the advantages of a CMF (Content Management Framework). Unlike other solutions, the programmer is not forced to follow the proposed model and can integrate his/her ways of doing things.” —Guy Verville, Spiria Digital Inc.