ok lets see....
//$s is your string
//Set first strposes
$A = strpos($s, 'A');
$B = strpos($s, 'B');
$C = strpos($s, 'C');
$D = strpos($s, 'D');
while ($A || $B || $C || $D) {
if ($A < ($B && $C && $D)) {
//$A is lowest
$new .= 'A';
$s = substr($s, $A);
} else if ($B < ($C && $D)) {
//$B is lowest
$new .= 'B';
$s = substr($s, $😎;
} else if ($C < $D) {
//$C is lowest
$new .= 'C';
$s = substr($s, $C);
} else {
//$D is lowest
$new .= 'D';
$s = substr($s, $D);
}
$A = strpos($s, 'A');
$B = strpos($s, 'B');
$C = strpos($s, 'C');
$D = strpos($s, 'D');
}
that should do it. there might be a function in php to tell if which is lowest though