<?php
$search = preg_quote('test');
$extra_words = 3;
$pattern = '#([^ ]+ ){0,'.$extra_words.'}'.$search.'( [^ ]+){0,'.$extra_words.'}#';
$res = preg_match_all($pattern,'some more text write your test data found more than once test here ',$regs);
var_dump($regs);