$a = 'foo123bar456baz7candy89'; $b = ''; $i = strlen($a); while($i-- > 0) $b = ($i > 0 && is_numeric($a[$i - 1]) != is_numeric($a[$i]) ? ';' : '') . $a[$i] . $b; echo $b;