AdvModRewriting funktioniert bisher einwandfrei bei mir. Leider finde ich mich in den Funktionen nicht so richtig zurecht. Ich suche nämlich eine Möglichkeit die URL nur aus Kleinbuchstaben aufzubauen. PHP bietet hier ja die strtolower()-Funktion. Aber wo muss die eingebaut werden?
Hier jedenfalls hat strtolower() keine Auswirkungen auf die URL:
Code: Alles auswählen
class ModRewrite {
/**
* Constructor Function
* @param
*/
function ModRewrite() {
// empty
} // end function
/**
* create_websafe_name()
*
* Returns WebSafe name
* @param string original name to convert
* @param integer id of category or article
* @return string newname
*/
function create_websafe_name( $str_original_name = "", $int_id = 0 ) {
$arr_original = Array(
"/Ú/","/Ù/","/Û/","/Ì/","/Í/","/Î/","/Ê/","/É/","/È/","/Á/","/À/","/Â/","/Ó/","/Ò/","/Ô/",
"/ú/","/ù/","/û/","/ì/","/í/","/î/","/ê/","/é/","/è/","/á/","/à/","/â/","/ó/","/ò/","/ô/",
"/Ä/","/ä/","/Ö/","/ö/","/Ü/","/ü/","/ß/","/ /","/&/","/\//","/\\\\/","/\+/");
$arr_replace = Array(
"U" , "U" , "U" , "I" , "I" , "I" , "E" , "E" , "E" , "A" , "A" , "A" , "O" , "O" , "O",
"u" , "u" , "u" , "i" , "i" , "i" , "e" , "e" , "e" , "a" , "a" , "a" , "o" , "o" , "o",
"Ae","ae" , "Oe", "oe", "Ue", "ue", "ss", "-" , "-" , "-" ,"-" ,"-");
// replace umlaut with websafe characters
$str_new_name = preg_replace($arr_original, $arr_replace, $str_original_name);
// remove non validating characters in urls
$str_new_name = preg_replace("/([^a-zA-Z0-9-_\.~])/i", "", $str_new_name);
// add article id or category id, if necessary
if ($int_id > 0) {
$str_new_name.= "_" . $int_id;
}
/* Added by MyAccount */
$str_new_name = strtolower($str_new_name);
return $str_new_name;
} // end function