- str_replace: documentation ( source)
- preg_replace: documentation ( source)
- strtolower: documentation ( source)
<?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)));