explode() + array_map() - универсальный вариант
если строка имеет вид "2-3" или "2", то:
$str = '2-3';
$final_str = '';
$explode = explode('-', $str);
$final_str = ++$explode[0];
if(array_key_exists(1, $explode)) $final_str .= '-'.++$explode[1];
var_dump($final_str);
а если строка может иметь вид 2-3-4...., то:
$str = '2-3-5-6';
$final_str = '';
$explode = explode('-', $str);
$final_explode = array_map(function($n) {return ++$n;}, $explode);
$final_str = implode('-', $final_explode);
var_dump($final_str);