Although adding another ternary statement to your statement is possible I think it will affect the code readability.
Using array will make this simpler.
$option_array = array('r' => 'R', 's' => 'S', 'k' => 'K');
if (array_key_exists($_POST['faction'])) {
$_POST['faction'] = $option_array[$_POST['faction']]
}
You could choose to add the array_key_exists to make sure you are not updating $_POST['faction'] if $_POST['faction'] contains other values, but this is your choice.
Another approach similar to yours with multiple ternary operations:
$_POST['faction'] = ($_POST['faction'] == "s") ? ($_POST['faction'] == "r" ? "R" : "S") : "K";
if-else?