<?php

$str = 'text abcd text text efgh';
echo preg_replace('~(.*)text~su', '${1}bar', $str);