public function parseSmiley($text)
{
$smilies = Smiley::getAll();
$match = [];
$replace = [];
foreach ($smilies as $smiley) {
$match[] = '(?<=^|[\\n .])' . preg_quote($smiley['code'], '#') . '(?![^<>]*>)';
$replace[] = '<!-- s' . $smiley['code'] . ' --><img src="{SMILIES_PATH}/' . $smiley['smiley_url'] . '" alt="' . $smiley['code'] . '" title="' . $smiley['emotion'] . '" /><!-- s' . $smiley['code'] . ' -->';
}
if (sizeof($match)) {
// Make sure the delimiter # is added in front and at the end of every element within $match
$text = trim(preg_replace(explode(chr(0), '#' . implode('#' . chr(0) . '#', $match) . '#'), $replace, $text));
}
return $text;
}