Thanks for telling (or reminding wink ) us that subroutine thingy smile
Just one suggestion for the regex:
/((?:[^\w\s]|_)*)p(?1)e(?1)n(?1)i(?1)s(?1)/Si
This matches p--°en__.;is and things like that too