This plugin censors text based on a configurable list of words.

  • The list is not case-sensitive. If you censor "foo", then "FOO" and "Foo" are also censored.
  • Jokers are accepted: * matches any number of letters or digits, ? matches one character exactly.
  • A single space matches any number of whitespace characters, meaning that censoring "b u g" will also censor "bug" or "b u g".
  • Censored words are replaced with **** unless a replacement is specified when the censored word is added to the list.

Example

$configurator = new s9e\TextFormatter\Configurator;
$configurator->Censor->add('apple*');
$configurator->Censor->add('banana*', 'onion');

// Get an instance of the parser and the renderer
extract($configurator->finalize());

$text = 'Putting apples in an applepie. Chopping some bananas on top.';
$xml  = $parser->parse($text);
$html = $renderer->render($xml);

echo $html;
Putting **** in an ****. Chopping some onion on top.