3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function plumberpro_id_safe( $string ) { // Strip accents $accents = '/&([A-Za-z]{1,2})(tilde|grave|acute|circ|cedil|uml|lig);/'; $string = preg_replace( $accents, '$1', htmlentities( utf8_decode( $string ) ) ); // Replace with dashes anything that isn't A-Z, numbers, dashes, or underscores. $string = strtolower( preg_replace( '/[^a-zA-Z0-9_-]+/', '-', $string ) ); // If the first character is not a-z, add 'n' in front. if ( !ctype_lower( $string{0} ) ) { // Don't use ctype_alpha since its locale aware. $string = 'id' . $string; } return $string; }
Output for 5.4.8 - 5.6.30, hhvm-3.12.14 - 3.17.3, 7.0.0 - 7.3.0rc6