3v4l.org

run code in 300+ PHP versions simultaneously
<?php $value = 'aböd%&/-cd#Ä'; $value = str_replace(array('ä','ö','ü','Ä','Ö','Ü','ß'), array('ae','oe','ue','Ae','Oe','Ue','ss'), $value); echo strtolower(preg_replace(array('/-+/', '/^-/', '/-$/'), array('-', '', ''), preg_replace('/[^\da-zA-Z-]/', '-', $value)));

preferences:
47.72 ms | 402 KiB | 5 Q