App\Libraries\BBCodeForDB::parseSmiley PHP Méthode

parseSmiley() public méthode

copied from www/forum/includes/message_parser.php#L1196
public parseSmiley ( $text )
    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 (count($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;
    }