¿Dividir y reemplazar cosas con PHP y preg_replace en lugar de explotar?

Tengo un código PHP + HTML como una cadena que contiene funciones. Quiero que algunas llamadas de función sean reemplazadas con contenido incluido. Reúna muchos archivos en uno.

Breve ejemplo: antes

<html>
    <?php myclass->my_function('one', 'two', 'three'); ?>
    <h1>Content in between</h1>
    <?php myclass->my_function('1', '2'); ?>
</html>

Breve ejemplo: reemplazar contenido

<html>
    <?php run('one', 'two', 'three'); /* Run does include a file */ ?>
    <h1>Content in between</h1>
    <?php run('1', '2'); /* Run does include a file */ ?>
</html>`

Breve ejemplo: después

<html>
    <?php
    /* Start my_function */
        echo 'This is the result of my_function one two three';
    /* End my_function
    ?>
    <h1>Content in between</h1>
    <?php
    /* Start my_function */
        <?php myclass->my_function('four', 'five', 'six'); ?>
    /* End my_function
    ?>
</html>

Tenga en cuenta que myclass se encuentra en el contenido incluido. El resultado debe analizarse nuevamente.

Breve ejemplo: después de eso

Todo esto se analiza nuevamente y reemplaza el myclass con contenido incluido.

<html>
    <?php
    /* Start my_function */
        echo 'This is the result of my_function one two three';
    /* End my_function */
    ?>
    <h1>Content in between</h1>
    <?php
    /* Start my_function */
        echo 'four five six';
    /* End my_function */
    ?>
</html>

Traté de hacer esto con explotar pero fue muy complejo. Es posible que los dos pasos "Reemplazar contenido" y "Después" deban realizarse en un solo movimiento.

Míralo como una cuerda. ¿Puede preg_replace resolver esto? ¿Cómo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta