Как найти часть строки после «@», и вместе с @ взять в тег?
<?php

function replaceLogic($match) {
    return "<tag>$match[0]</tag>";
}

$input = 'Вот арбуз - @ho_ho_ho какой-то текст @ho_ho_ho2';
$output = preg_replace_callback('/@[0-9a-z_]+/u', 'replaceLogic', $input);

Живой пример
$input_line = "Вот арбуз - @ho_ho_ho sd sd sd sd ";

preg_match('/@[a-zA-Z_0-9]*/', $input_line, $output_array);

if (count($output_array) > 0) {
    $match = $output_array[0];
    $input_line = str_replace($match, "<b>{$match}</b>", $input_line);
}

echo $input_line;