In der Datei "includes/functions.api.string.php" ab Zeile 386 sollten noch folgende Zeilen eingefügt werden, um Umlaute URL "fähig" anzuzeigen:
Code: Alles auswählen
# ISO-8859-1
$sString = str_replace('ä', 'ae', $sString);
$sString = str_replace('ö', 'oe', $sString);
$sString = str_replace('ü', 'ue', $sString);
$sString = str_replace('ß', 'ss', $sString);
$sString = str_replace('Ä', 'Ae', $sString);
$sString = str_replace('Ö', 'Oe', $sString);
$sString = str_replace('Ü', 'Ue', $sString);
# UTF-8
$sString = str_replace(utf8_encode('ä'), 'ae', $sString);
$sString = str_replace(utf8_encode('ö'), 'oe', $sString);
$sString = str_replace(utf8_encode('ü'), 'ue', $sString);
$sString = str_replace(utf8_encode('ß'), 'ss', $sString);
$sString = str_replace(utf8_encode('Ä'), 'Ae', $sString);
$sString = str_replace(utf8_encode('Ö'), 'Oe', $sString);
$sString = str_replace(utf8_encode('Ü'), 'Ue', $sString);
Code: Alles auswählen
function capiStrCleanURLCharacters ($sString, $bReplace = false)
{
$sString = capiStrReplaceDiacritics($sString);
$sString = str_replace(" ", "-", $sString);
$sString = str_replace("/", "-", $sString);
$sString = str_replace("&", "-", $sString);
$sString = str_replace("+", "-", $sString);
# ISO-8859-1
$sString = str_replace('ä', 'ae', $sString);
$sString = str_replace('ö', 'oe', $sString);
$sString = str_replace('ü', 'ue', $sString);
$sString = str_replace('ß', 'ss', $sString);
$sString = str_replace('Ä', 'Ae', $sString);
$sString = str_replace('Ö', 'Oe', $sString);
$sString = str_replace('Ü', 'Ue', $sString);
# UTF-8
$sString = str_replace(utf8_encode('ä'), 'ae', $sString);
$sString = str_replace(utf8_encode('ö'), 'oe', $sString);
$sString = str_replace(utf8_encode('ü'), 'ue', $sString);
$sString = str_replace(utf8_encode('ß'), 'ss', $sString);
$sString = str_replace(utf8_encode('Ä'), 'Ae', $sString);
$sString = str_replace(utf8_encode('Ö'), 'Oe', $sString);
$sString = str_replace(utf8_encode('Ü'), 'Ue', $sString);
$iStrLen = strlen($sString);
for ($i=0; $i < $iStrLen; $i++)
{
$sChar = substr($sString, $i, 1);
if (preg_match('/^[a-z0-9]*$/i', $sChar) || $sChar == "-" || $sChar == "_" || $sChar == ".")
{
$sResultString .= $sChar;
} else {
if ($bReplace == true)
{
$sResultString .= "_";
}
}
}
return ($sResultString);
}