Dieter Raber: Stringsortierung von Javascript und MySQL

Beitrag lesen

Hallo René,

Javascript ist ja im Gegensatz zu PHP ziemlich dürftig in Sachen Stringfunktionen ausgestattet.

Das Project jsPro auf Sourceforge, vorzugsweise die CVS-Version rüstet zahlreiche Funktionen für Javascript nach. Auch auf meiner Webseite im JavaScript-Bereich findest Du einiges, was von PHP inspiriert ist.

Ich habe mal vor einiger Zeit eine PHP-Funktion geschrieben, um Arrays, die Sonderzeichen enthalten, nach den von dir gewünschten Maßstäben zu sortieren. Diese löst Dein Problem natürlich nicht direkt, bringt Dich aber vielleicht auf eine passende Idee.

/////////////////////
function spec_char_replace($orig_arr)
{
  $search_arr  = array('À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë',
                       'Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','Ø',
                       'Ù','Ú','Û','Ü','Ý','Þ','ß','à','á','â','ã','ä',
                       'å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð',
                       'ñ','ò','ó','ô','õ','ö','ø','ù','ú','û','ü','ý',
                       'þ','ÿ');

$replace_arr = array('A','A','A','A','A','A','A','C','E','E','E','E',
                       'I','I','I','I','E','N','O','O','O','O','O','O',
                       'U','U','U','U','Y','T','s','a','a','a','a','a',
                       'a','a','c','e','e','e','e','i','i','i','i','e',
                       'n','o','o','o','o','o','o','u','u','u','u','y',
                       't','y');

$orig_arr = str_replace($search_arr, $replace_arr, $orig_arr);
  return $orig_arr;
}

function spec_char_natcasesort ($orig_arr)
{
  $sort_arr = spec_char_replace($orig_arr);
  natcasesort($sort_arr);
  foreach($sort_arr as $key => $value)
  {
    $sort_arr[$key] = $orig_arr[$key];
  }
  return $sort_arr;
}
/////////////////////////

Gruß,

Dieter