Código PHP:
   function ini_emoticonos() {
    global $emoticonos, $wp_smiliessearch;
 $emoticonos = array(':)'=>'feliz.png',':]'=>'feliz.png',':O'=>'asombro.png',':o'=>'asombro.png',':0'=>'asombro.png',':D'=>'risa.png',';)'=>'ojito.png',';-)'=>'ojito.png',':('=>'trizte.png',':-('=>'trizte.png','8)'=>'anteojos.png','8-)'=>'anteojos.png',":'("=>'llorando.png',':/'=>'indeciso.png',":*"=>'beso.png',':P'=>'lengua.png',':p'=>'lengua.png','-.-'=>'desepcion.png',':|D'=>'dinero-boca.png','>_<'=>'enojado.png',"':|"=>'sudor.png',':}'=>'halo.png');
 if (count($emoticonos) == 0) {
        return;
    }
    
krsort($emoticonos);
 
$wp_smiliessearch = '/(?:\s|^)';
 
$subchar = '';
 
foreach ( (array) $emoticonos as $smiley => $img ) {
        $firstchar = substr($smiley, 0, 1);
        $rest = substr($smiley, 1);
 
        // new subpattern?
        if ($firstchar != $subchar) {
            if ($subchar != '') {
                $wp_smiliessearch .= ')|(?:\s|^)';
            }
            $subchar = $firstchar;
            $wp_smiliessearch .= preg_quote($firstchar, '/') . '(?:';
        } else {
            $wp_smiliessearch .= '|';
        }
        $wp_smiliessearch .= preg_quote($rest, '/');
    }
 
    $wp_smiliessearch .= ')(?:\s|$)/m';
}
 
function translate_smiley($smiley) {
    global $emoticonos;
 
    if (count($smiley) == 0) {
        return '';
    }
 
    $smiley = trim(reset($smiley));
    $img = $emoticonos[$smiley];
    //$smiley_masked = esc_attr($smiley);
 
    $srcurl = url_web()."imagenes/emoticonos/$img";
 
    return " <img src='$srcurl' alt='$smiley' class='wk-emoticono' /> ";
}
 
function ajustar_emoticonos($text) {
    global $wp_smiliessearch;
    $output = '';
    if (!empty($wp_smiliessearch) ) {
        // HTML loop taken from texturize function, could possible be consolidated
        $textarr = preg_split("/(<.*>)/U", $text, -1, PREG_SPLIT_DELIM_CAPTURE); // capture the tags as well as in between
        $stop = count($textarr);// loop stuff
        for ($i = 0; $i < $stop; $i++) {
            $content = $textarr[$i];
            if ((strlen($content) > 0) && ('<' != $content{0})) { // If it's not a tag
                $content = preg_replace_callback($wp_smiliessearch, 'translate_smiley', $content);
            }
            $output .= $content;
        }
    } else {
        // return default text.
        $output = $text;
    }
    return $output;
} 
    ini_emoticonos();
Inicia las variables usadas en las otras dos funciones
translate_smiley();
Remplaza cada ;) :) :( en en el enlace para las imagenes de los emotes
ajustar_emoticonos();
lo que hace es obtener el texto al cual remplazar las vars y establecer los iconos
Intente pasarlas a la clase pero creo que el error lo tuve aqui
Código PHP:
   $content = preg_replace_callback($wp_smiliessearch, 'translate_smiley', $content); 
    $wp_smiliessearch y $emoticonos como variables privadas y use siempre $this->
Alguien puede ayudarme a pasar estas funciones para que trabajen correctamente en una clase.. lo agradeceria mucho!
 

