PHP5 inflector - underscored

Convert any "CamelCased" or "ordinary Word" into an "underscored_word"

Example:

 $word = 'MyClassPHP';
 echo  strtolower(preg_replace('/[^A-Z^a-z^0-9]+/','_', preg_replace('/([a-z\d])([A-Z])/','\1_\2', preg_replace('/([A-Z]+)([A-Z][a-z])/','\1_\2',$word))));

Results:

 my_class_php