<?php

    $s ='<number>1<number>2</number>3</number>'; 
    echo preg_replace('#<number>(\d+)<number>\d+</number>(\d+)</number>#', "$1 5 $2", $s);

?>