[4.8.12]Fehlendes kleines ü in capiStrReplaceDiacritics
Verfasst: Do 30. Apr 2009, 10:33
In besagter Funktion werden die Ersetzungen für die bei MR benötigten Aliasnamen durchgeführt. Es fehlt aber die Umschreibung für ü->ue, diese ist nur für die Großschreibung vorhanden.
Zur Behebung in der Funktion ab Zeile 276 in contenido/includes/function.api.string.php die beiden Arrays $aSearch und $aReplace entsprechend ergänzen. Ich setze mal die geänderte Funktion hier rein, hoffe das Forum zerschießt mir nicht die Sonderzeichen. Falls doch, als fix in älteren Versionen, bitte nur die Einträge für das kleine ü (ue) ergänzen.
Fehler in der nächsten Contenidoversion behoben (checkin SVN).
Gruß aus Franken
Ortwin
Zur Behebung in der Funktion ab Zeile 276 in contenido/includes/function.api.string.php die beiden Arrays $aSearch und $aReplace entsprechend ergänzen. Ich setze mal die geänderte Funktion hier rein, hoffe das Forum zerschießt mir nicht die Sonderzeichen. Falls doch, als fix in älteren Versionen, bitte nur die Einträge für das kleine ü (ue) ergänzen.
Code: Alles auswählen
function capiStrReplaceDiacritics ($sString, $sourceEncoding = "ISO-8859-1", $targetEncoding = false)
{
/* If the target encoding isn't set, use source encoding */
if ($targetEncoding == false)
{
$targetEncoding = $sourceEncoding;
}
// replace regular german umlauts and other common characters with diacritics
static $aSearch, $aReplace;
if (!isset($aSearch)) {
$aSearch = array('Ä', 'Ö', 'Ü', 'ä', 'ö', 'ü', 'ß', 'Á', 'À', 'Â', 'á', 'à', 'â', 'É', 'È', 'Ê', 'é', 'è', 'ê', 'Í', 'Ì', 'Î', 'í', 'ì', 'î', 'Ó', 'Ò', 'Ô', 'ó', 'ò', 'ô', 'Ú', 'Ù', 'Û', 'ú', 'ù', 'û');
$aReplace = array('Ae', 'Oe', 'Ue', 'ae', 'oe', 'ue', 'ss', 'A', 'A', 'A', 'a', 'a', 'a', 'E', 'E', 'E', 'e', 'e', 'e', 'I', 'I', 'I', 'i', 'i', 'i', 'O', 'O', 'O', 'o', 'o', 'o', 'U', 'U', 'U', 'u', 'u', 'u');
}
$sString = str_replace($aSearch, $aReplace, $sString);
/* TODO: Additional converting */
return ($sString);
}
Gruß aus Franken
Ortwin