Puoi combinare qualcosa usando strpos e substr_replace:
Codice PHP:
$str = 'Friuli-Venezia-Giulia';
$pos = strlen($str) - strpos(substr($str, strpos($str, '-') + 1), '-'); // la posizione del secondo "-"
echo substr_replace($str, ' ', $pos, 1);
Oppure, puoi analizzare la stringa carattere per carattere:
Codice PHP:
$str = 'Friuli-Venezia-Giulia';
$f = '-'; // carattere da trovare
$s = 2; // sostituisci il secondo
$j = 1; // conta le occorrenze di $f, non modificare.
for($i = 0, $len = strlen($str); $i < $len; $i++) {
if($str{$i} === $f) {
if($s === $j) {
$str{$i} = ' ';
break;
}
$j++;
}
}
echo $str;