$text = '[:de]111111[:ru]22222[:en]33333[:]';
echo preg_replace('~(\[:de\]).*?(\[:ru\])~s', '\1blabla\2', $text), "\n";
echo preg_replace('~(\[:de\]).*?(\[:ru\])~s', '${1}555${2}', $text), "\n";
echo preg_replace('~(?<=\[:de\]).*?(?=\[:ru\])~s', 'blabla', $text), "\n";
echo preg_replace('~\[:de\]\K[^\[]*~', 'blabla', $text), "\n";