me lavanto hoy y mi web es un caos debido a que actualizaron la version de php y me veo obligado a dejar de usar preg_replace por preg_replace_callback, siendo sincero, no logro comprender el uso de esa funcion y me veo envuelto desesperacion debido a que mi sitio esta parado por este motivo.
quisiera que alguien me ayudara a cambiar este codigo, usando preg_replace_callback y si fuesen amables, tambien explicarme correctamente esa funcion, se los agradece mucho.
Código PHP:
Ver original
function ajustar_emoticonos($texto) { ':)'=>'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', '-_-'=>'desepcion.png', ':|D'=>'dinero-boca.png', ":@"=>'enojado.png', "':|"=>'sudor.png', ":}"=>'halo.png', "(Y)"=>'megusta.png', "(y)"=>'megusta.png', "(n)"=>'nomegusta.png', "(N)"=>'nomegusta.png'); $output=$texto; foreach ($emoticonos as $icono => $imagen) $output = preg_replace("#(?<=\s|^)" . preg_quote($icono) . "#",'<img src="'.$this->url_web().'imagenes/emoticonos/'.$imagen.'" width="16px" height="16px" class="wk-emoticono" />', $output); '#(^|[\n ])@([^ \"\t\n\r<]*)#ise', '/\s#(\w+)/' ); "'\\1<a href=\"".$this->url_web()."redirperfil/\\2\" >@\\2</a>'", ' <a href="'.$this->url_web().'publicaciones/tag/$1">#$1</a>' ); // Perform the actual conversion return $output; }