<?php
/**
* Funktion die einen String anhand eines RegExPattern filtert
* und aufsteigend/absteigend sortiert
*
* @param string $string: Der zu filternde & zu sortierende String
* @param string $reg_ex_pattern: Optional - Der anzuwendende RegExPattern - Default: Buchstaben (unabhängig ob Groß- / Kleinschreibung) und Zahlen
* @param boolean $ascending: Flag ob aufsteigend (true) oder absteigend (false) sortiert werden soll
* @return string $new_string: Der gefilterte und sortierte String
*/
function sortRegExChar($string, $reg_ex_pattern = '/[a-zöäüß0-9]/i', $ascending = true)
{
// Array für die sortierung deklarieren
$new_string_array =
array();
// Per for()-Schleife die einzelnen Zeichen des Strings...
for($i =
0;
$i <
strlen($string);
$i++
)
{
// ...in das Array packen - sofern der RegExPattern passt
{
}
} // ENDE: for($i = 0; $i < strlen($string); $i++)
// Prüfen wie sortiert werden soll
if($ascending == true)
{
// Aufsteigend
}
else
{
// Absteigend
rsort($new_string_array);
}
// Aus dem sortierten Array wieder einen String basteln
$new_string =
implode('',
$new_string_array);
return $new_string;
} // ENDE: function sortRegExChar($string, $reg_ex_pattern = '/[a-zöäüß0-9]/i', $ascending = true)
/**
* Funktion die die in einem String vorkommenden Zeichen anhand eines
* RegExPattern filtert und zählt. Zudem wird das Return-Array
* aufsteigend/absteigend sortiert
*
* @param string $string: Der zu filternde & zu zählende String
* @param string $reg_ex_pattern: Optional - Der anzuwendende RegExPattern - Default: Buchstaben (unabhängig ob Groß- / Kleinschreibung) und Zahlen
* @param boolean $ascending: Flag ob aufsteigend (true) oder absteigend (false) sortiert werden soll
* @return array $char_counter_array: Ein Array mit den Counter-Werten pro Zeichen ($char_counter_array['a'] = 1 etc...)
*/
function countRegExChar($string, $reg_ex_pattern = '/[a-zöäüß0-9]/i', $ascending = true)
{
// Array für den Counter deklarieren
$char_counter_array =
array();
// Per for()-Schleife die einzelnen Zeichen des Strings...
for($i =
0;
$i <
strlen($string);
$i++
)
{
// ...in das Array packen - sofern der RegExPattern passt
{
// Wenn das Zeichen schon im Array enthalten ist...
if(isset($char_counter_array[$string[$i]]))
{
// ...Counter für das Zeichen erhöhen
}
else
{
// sonst Counter initialisieren
}
} // ENDE: if(preg_match($reg_ex_pattern, $string[$i]))
} // ENDE: for($i = 0; $i < strlen($string); $i++)
// Prüfen wie sortiert werden soll
if($ascending == true)
{
// Aufsteigend
ksort($char_counter_array);
}
else
{
// Absteigend
}
return $char_counter_array;
} // ENDE: function countRegExChar($string, $reg_ex_pattern = '/[a-zöäüß0-9]/i', $ascending = true)
?>