Ci sono vari modi, io farei così:
Codice PHP:
$stringa=" stringa che ho scritto di prova ";
$start= "stringa";
$end= "prova";
$to_insert="messa per";
$divido = explode($start, $string);//Divido la stringa in base a $start
$stringa1 = $divido[0];//delle due parti memorizzo la prima
$divido1 = explode($end, $divido[1]);//Divido la stringa in base a $end
$stringa2 = $divido1[1];//delle due parti memorizzo la seconda(la prima, infatti, è quella tra $start e $end, che non mi serve)
//A questo punto ho la due parti della stringa che mi interessano, senza la parte tra $strat e $end,
//dunque, nn mi resta che riunirle mettendo, al posto della parte eliminata,
//la stringa $to_insert, e ovviamente, rimettendo $start e $end
$out = $stringa1.$start.$to_insert.$end.$stringa2;
Spero di esserti stato utile!