well...you want to assert in your pattern that 'hell' would be a word. that would mean your pattern would:
a) have to be at the very beginning of the searched text or preceded by white space
and
b) would have to be at the very end of the searched text or followed by white space.
i think this might work but i'm not sure:
$pattern = "/(|\s)(" . $dHighlight . ")(\s|$)/";
sadly, I have not mastered regular expressions. You might be able to check out highlighting code in phpBB's source code. Or maybe search this forum for 'highlight'.
Ultimately, if you want to write regular expressions yourself, you'll need to set up some kind of script for testing them.