Estoy creando una clase que llevará todas las funciones usadas en mi web, pero estas funciones no las logro hacer funcionar
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;
}
Dejenme explicarles que hace cada funcion
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);
P.S. este es el codigo que uso, cuando intente pasarla a la clase estableci:
$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!