<?php 
    $st = '2'; 
    $p = '#'.$st.'#'; 
    $r = '___RPLCMNT___'; 
    $s = 'вывыаыва2ываываыва2ыаыаываы2пвпва';
 
    //например так. если не нужны regexp, то strrpos()
    $ps = preg_split($p,$s,-1, PREG_SPLIT_OFFSET_CAPTURE);
    
    $pos = $ps[count($ps)-1][1];
    $rs = substr_replace($s, $r, $pos-strlen($st), -(strlen($s)-$pos));

    echo $s.' ==> '.$rs;    
?>