WordPress Plugin: Devowelizer
The Devowelizer plugin for WordPress replaces the vowels in most “bad language” within your own content and within comments left by visitors. Example: dámn, whørë, and šlût. It even comes preconfigured with over 75 bìtçhìn’ patterns of words to look for (sorry about that!!) Trust me, this plugin and its predecessor have been well tested!
Requirements
Originally developed for use with WordPress v2.1.2, the Devowelizer plugin also works with WordPress v2.6.2, and is expected to work properly with any later versions. The plugin also works seamlessly with WordPress MU v1.3.1 (and is also expected to work well with any later versions), either working invisibly and across all blogs or activated on a per-blog basis.
No other plugins are required. It is not necessary to configure the plugin or edit your templates, although as of v1.03 there are now a few options discussed below.
Installation
Download the Devowelizer plugin. Duh! You can also pick up a copy from the WordPress Plugin Directory.
WordPress (standard)
- Copy all the files into the
/wp-content/plugins/devowelizer/folder. - Activate the plugin in the WordPress Plugin Admin panel.
- Installation complete!
WordPress MU
(You can follow the steps above for standard WordPress to activate the plugin on a per-blog basis, or do the following to apply the plugin silently to all blogs.)
- Copy all the files into the
/wp-content/mu-plugins/devowelizer/folder. - Installation complete!
Usage (again, apologies!)
The word definitions for the Devowelizer can take the form of very basic regular expressions like “bast[ae]rd*”. In Devowelizer’s case, a leading or trailing asterisk is a wildcard used to represent alphanumeric characters plus a hyphen; it is not actually part of the regular expression itself, so “bast[ae]rd*” matches báštárd, báštërdš, and báštárdìzìng. Asterisks in the middle of the definition work just like one in a standard regex. There are a few select cases of predefined words (mainly forms of the F-word) that use both leading and trailing asterisks in order to catch entire words like ûrábáštrdmûtháfûkkër.
More Examples
*f\s*c\s*u\s*k* — catches fûçk, fû çk, and møfûçkr.
a[s]+hol* — catches áššhølë and áhølë, but not gasholder or Grassholme.
penis* — catches pënìš and pënìšhëád, but not terpenism.
asses — catches nothing but áššëš, certainly not classes or glasses.
New Features Added in v1.03!
I get a huge amount of comment spam, most of it disgustingly filthy but 100% of it caught by Akismet. However, I scan through the recent catches monthly just to ensure that there are no false positives. Because the number of bad words per page can often be in the thousands, the plugin will time out on extremely rare occasions. If that happens to you, or you just don’t want to apply the filter to your admin pages, visit your /wp-admin/options.php page, and change the “devowelize_admin_pages” option to anything other than “yes”. If you change your mind later, just set it back to “yes” (without the quotes). [I intentionally did not create a configuration page because I do not like to clutter up the admin interface with options for every single plugin, especially for such a simple yes/no option.]
Also, pages and posts can now contain [devowelizer] tags to surround words or phrases not covered by the standard word list. Putting something like this in your post:
I think I [devowelizer]really[/devowelizer] like this plugin.
Makes it come out like this:
I think I rëállÿ like this plugin.
While this new tag is a very useful feature, please keep in mind that if you disable the plugin, the [devowelizer] tags will be visible within your post. Of course, that same warning applies to almost any plugin that uses special tags in your posts!
The Long Story
Early on, I made the conscious decision to generally NOT censor comments on my blog. I chose instead to munge them slightly to ensure that the content-filtering tools used at my wife’s work wouldn’t ban my website, so at least I could be guaranteed to have a handful of regular readers!
On my original MovableType blog, I used the MTMacro plugin by Brad Choate to do a basic search for specific case-sensitive incidences of the most common of the worst swear words and replace the standard five vowels with ones with umlauts — you know, the two little dots over many foreign letters. But, it never really meet my needs because the worst offenders never seemed to standardize their capitalization, darn them! For example, in order to handle the three cases of Úš, ÃSS, and ášš, I would have had to create three different macros in order to get the proper case sensitivity. Also, I didn’t want to munge acceptable words such as assume or class. And if someone really wanted to be weird and use ÚS, ášS, or áSš, the number of individual macros would get ridiculous.
When I moved over to WordPress, I’d looked through the gamut of plugins out there and the closest was the Polite-ifier plugin, but it was still very far from my needs because it couldn’t do the nice clean additions of the umlauts that I wanted. I wanted to use simple regular expressions both on the dictionary of match words AND during the replacement of the matches. Thus, the Devowelizer was born. And, yes, I later moved away from just using umlauts, dámn it!
Revision History
| Version | Release Date | Description |
|---|---|---|
| v0.99 | 2006-04-07 | Initial release. |
| v1.00 | 2008-01-26 | Prevented accidental munging of URLs, only surfaced when linking to sites like www.pënìšlánd.net. Limited release. |
| v1.01 | 2008-01-30 | Significantly increased number and scope of "bad language" patterns. Extremely limited release, most likely not installed in outside production environments. |
| v1.02 | 2008-02-01 | Increased default process priority to 11 in order to "devowelize" content or comments altered by other plugins that use the default priority of 10. |
| v1.03 | 2008-02-26 | Adds a few consonants to munge. Allows for new "[devowelizer]" tags. Bug fix to ensure that word list is read only once per page. Speeds up processing with one replace call, rather than one per letter. Adds option to skip munging admin pages. Minor changes in anticipation of WP v2.5. |
| v1.10 | 2008-09-20 | Better integration with WordPress MU. Supports Plugin Output Cache plugin. |
In order to protect my ášš, I must inform you that this plugin is provided as-is, without any warranty of any kind, express, implied or otherwise, including without limitation, any warranty of merchantability or fitness for a particular purpose. In no event shall I be liable for any special, incidental, consequential or indirect damages of any kind, or any damages whatsoever resulting from loss of; use, data or profits, whether or not advised of the possibility of damage, and on any theory of liability, arising out of or in connection with the use or performance of this plugin.
What I want to do on my blog, is every few hours take the oldest post and move it to the front of the queue, all automatically. Anyone know if there is a plugin that can do this or a simple way to set up another plugin to do this (use my own feed perhaps)? Thanks.
[...] obfuscator that applies ROT13 "encryption" to key words, etc. Author: Richard D. LeCour Plugin Page Attached [...]
i’m testing your fûçkìng plugin
[...] Devowelizer [...]
Thanks for the fûçkìng great plugin. Not šhìttÿ bìtçh møthërfûçk çûnt whørë.
Version 1.02 has now been released.
holy šhìt! that’s a fûçkìng bloody fun idea!
I’d add more random replacement letters, for more fun: øôò etc…
sweet - pardon the following test. been looking for a fûçkìng sweet ášš plugin like this šhìt to mod. I’ll have to sent you the changes an šhìt fûçkër
Hey I think on line 28 you meant $devowelizer_list
Quite true. That’s one of the bug fixes being tested in v1.03. Leaving it the way it is in v1.02 is just fine, although it runs a few milliseconds slower.
Version 1.03 has now been released.
[...] Release Page | Download [...]
[...] Release Page | Download [...]
[...] Devowelizer The Devowelizer plugin for WordPress replaces the vowels in most “bad language” within your own content and within comments left by visitors. [...]
[...] y descarga | Richard’s Ramblings Marzo 12th, [...]
[...] Devowelizer- The Devowelizer plugin for WordPress replaces the vowels in most “bad language” within your [...]
[...] one contains some unknown plugins worth a look (for example, Delink comment author, WP PNG fix, Devowelizer and WP [...]
[...] about people using swear words in the blog comments? WP-Devowelizer WordPress Plugin and WP Polite-ifier Plugin for Swearing are among several WordPress Plugins for comments that [...]
[...] another danger to comments… Worried about people using swear words in the blog comments? WP-Devowelizer WordPress Plugin and WP Polite-ifier Plugin for Swearing are among several WordPress Plugins for comments that [...]
test
testing this plugin. if it works it’ll be fûçkìng great
Has no one noticed the comment Preview button below? It’s an easy way to see your dëvøwëlìzëd comment without actually submitting one…
Forgot to mention that the new Devowelizer v1.10 was released last week! It can now optionally integrate with the Plugin Output Cache plugin. There were also some minor structural changes so that WordPress can host the plugin and upgrade it automatically.
[...] Devowelizer- The Devowelizer plugin for WordPress replaces the vowels in most “bad language” within [...]