Как заменить "простые" кавычки в тексте на «ёлочки»?

На просторах сети была найдена простая и в то же время мощная функция:

function typograph($text) {
    $text = html_entity_decode($text, ENT_QUOTES, 'utf-8');
    $arr = array(
        // Убираем символ троеточия
        '/…/u' => '...',
        // Кавычки «ёлочки» « »
        '/(^|[\s;\(\[-])"/' => '$1«',
        '/"([\s-\.!,:;\?\)\]\n\r]|$)/' => '»$1',
        '/([^\s])"([^\s])/' => '$1»$2',
        // Длинное тире —
        '/(^|\n|["„«])--?(\s)/u' => '$1—$2',
        '/(\s)--?(\s)/' => ' —$2',
        // Непереносимый проблел после коротких слов  
        '/([\s][a-zа-яё]{1,2})[ ]/iu' => '$1 '
    );
    foreach ($arr as $key=>$val) {
        $text = preg_replace($key, $val, $text);
    }
    // Вложенные кавычки „ “
    while (preg_match('/(«[^«»]*)«/mu', $text)) {
        $text = preg_replace('/(«[^«»]*)«/mu', '$1„', $text);
        $text = preg_replace('/(„[^„“«»]*)»/mu', '$1“', $text);
    }
    return $text;
}