function seo($str, $options = [])
{
$defaults = ["delimiter" => "-", "limit" => NULL, "lowercase" => true, "transliterate" => true];
$options = array_merge($defaults, $options);
$dmr = $defaults["delimiter"];
$char_map = [];
if ($options["transliterate"]) {
$str = str_replace(array_keys($char_map), $char_map, $str);
}
$str = preg_replace("/[^\\p{L}\\p{Nd}]+/u", $options["delimiter"], $str);
$str = preg_replace("/(" . preg_quote($options["delimiter"], "/") . "){2,}/", "\$1", $str);
$str = mb_substr($str, 0, $options["limit"] ? $options["limit"] : mb_strlen($str, "UTF-8"), "UTF-8");
$str = trim($str, $options["delimiter"]);
return $options["lowercase"] ? mb_strtolower($str, "UTF-8") : $str;
$tr = array('ş','Ş','ı','I','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç','(',')','/',' ',',','?');
$eng = array('s','s','i','i','i','g','g','u','u','o','o','c','c','','','-','-','','');
$s = str_replace($tr,$eng,$s);
$s = strtolower($s);
$s = preg_replace('/&.+?;/', '', $s);
$s = preg_replace('/\s+/', '-', $s);
$s = preg_replace('|-+|', '-', $s);
$s = preg_replace('/#/', '', $s);
$s = str_replace('.', '', $s);
$s = trim($s, '-');
return $s;
}
function turkce($s) {
$tr = array('ş','Ş','ı','I','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç','(',')','/',' ',',','?');
$eng = array('s','s','i','i','i','g','g','u','u','o','o','c','c','','','-','-','','');
$s = str_replace($tr,$eng,$s);
$s = strtolower($s);
$s = preg_replace('/&.+?;/', '', $s);
$s = preg_replace('/\s+/', '-', $s);
$s = preg_replace('|-+|', '-', $s);
$s = preg_replace('/#/', '', $s);
$s = str_replace('.', '', $s);
$s = trim($s, '-');
return $s;
}