Это довольно легко с обратным вызовом:
$var = preg_replace_callback("`(?<=echo ')(.+)(?=';)`iU", function ($matches) { return addslashes($matches[1]); }, $var)
Сначала мы сопоставляем строку в кавычках echo (и ничего больше), затем применяем функцию addlashes к найденному Опция ungreedy (U) важна, поэтому. + Не соответствует всей строке.