3v4l.org

run code in 300+ PHP versions simultaneously
<?php $acceptSpaces = true; $acceptUppercase = true; $text = 'El méu tëst'; // Replace non letter or digits by - $pattern = $acceptSpaces ? '~[^\\pL\d]+~u' : '~[^ \\pL\d]+~u'; $text = preg_replace($pattern, '-', $text); var_dump('preg replace', $text); // Trim $text = trim($text, '-'); var_dump('trim', $text); // Transliterate $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text); var_dump('transliterate', $text); if(!$acceptUppercase) { // Lowercase $text = strtolower($text); } var_dump('lower', $text); // Remove unwanted characters $pattern = $acceptSpaces ? '~[^ -\w]+~' : '~[^-\w]+~'; $text = preg_replace($pattern, '', $text); var_dump('replace2', $text); var_dump( $text );

preferences:
21.36 ms | 402 KiB | 5 Q