мало что понял из постановки задачи, но вот как то так:
PHP:
{
$str =$lastx['title'];
if (preg_match_all('/(.*?)(#|@)(.*?)(#|@)\s*\[(.*?)\]/i', $str, $match))
{
for ($j=0; $j<count($match[1]) ;$j++)
{
$one = $match[1][$j];
$two = $match[3][$j];
$data = $match[5][$j];
//Выводим за сегодня
$todaydate = date ("d.m.Y");
if ($todaydate == $data) {
echo "$one";
echo "$two - $data";
}
//Создаем даты на 7 дней
$datas = "$todaydate";
for($i=1;$i<=7;$i++) {
$w_date = date("d.m.Y",strtotime("{$datas} + {$i} days"));
//Выводим на неделю
if ($data == $w_date) {
echo "$one";
echo "$two - $data";
}
}
}
}