Foros del Web » Programando para Internet » PHP »

Cambiando de preg_replace a preg_replace_callback

Estas en el tema de Cambiando de preg_replace a preg_replace_callback en el foro de PHP en Foros del Web. Hola a todos, sere breve. me lavanto hoy y mi web es un caos debido a que actualizaron la version de php y me veo ...
  #1 (permalink)  
Antiguo 08/09/2015, 16:14
Avatar de ColdFusion  
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 15 años, 6 meses
Puntos: 9
Cambiando de preg_replace a preg_replace_callback

Hola a todos, sere breve.

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
  1. function ajustar_emoticonos($texto) {
  2.  $emoticonos = array(
  3.  ':)'=>'feliz.png',
  4.  ':]'=>'feliz.png',
  5.  ':O'=>'asombro.png',
  6.  ':o'=>'asombro.png',
  7.  ':0'=>'asombro.png',
  8.  ':D'=>'risa.png',
  9.  ';)'=>'ojito.png',
  10.  ';-)'=>'ojito.png',
  11.  ':('=>'trizte.png',
  12.  ':-('=>'trizte.png',
  13.  '8)'=>'anteojos.png',
  14.  '8-)'=>'anteojos.png',
  15.  ":'("=>'llorando.png',
  16.  ':/'=>'indeciso.png',
  17.  ":*"=>'beso.png',
  18.  ':P'=>'lengua.png',
  19.  ':p'=>'lengua.png',
  20.  '-.-'=>'desepcion.png',
  21.  '-_-'=>'desepcion.png',
  22.  ':|D'=>'dinero-boca.png',
  23.  ":@"=>'enojado.png',
  24.  "':|"=>'sudor.png',
  25.  ":}"=>'halo.png',
  26.  "(Y)"=>'megusta.png',
  27.  "(y)"=>'megusta.png',
  28.  "(n)"=>'nomegusta.png',
  29.  "(N)"=>'nomegusta.png');
  30.  
  31.  $output=$texto;
  32.  
  33. foreach ($emoticonos as $icono => $imagen)
  34.      $output = preg_replace("#(?<=\s|^)" . preg_quote($icono) . "#",'<img src="'.$this->url_web().'imagenes/emoticonos/'.$imagen.'" width="16px" height="16px" class="wk-emoticono" />', $output);
  35.        
  36.  
  37.     $output = str_replace('&lt;3','<b>&hearts;</b>',$output);
  38.     $output = str_replace(array('(r)','(R)'),'<b>&reg;</b>',$output);
  39.     $output = str_replace(array('(c)','(C)'),'<b>&copy;</b>',$output);
  40.     $output = str_replace(array('(tm)','(TM)'),'<b>&trade;</b>',$output);
  41.  
  42.      $formato_etiq =  array(
  43.       '#(^|[\n ])@([^ \"\t\n\r<]*)#ise',
  44.       '/\s#(\w+)/'
  45.    );
  46.  
  47.    $formato_etiq_enlace = array(
  48.       "'\\1<a href=\"".$this->url_web()."redirperfil/\\2\" >@\\2</a>'",
  49.       ' <a href="'.$this->url_web().'publicaciones/tag/$1">#$1</a>'
  50.    );
  51.    // Perform the actual conversion
  52.    $output = preg_replace($formato_etiq, $formato_etiq_enlace, $output);
  53.  
  54.     return $output;
  55. }
  #2 (permalink)  
Antiguo 08/09/2015, 16:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cambiando de preg_replace a preg_replace_callback

Pregunta básica: ¿exactamente qué parte del manual no entendiste?

Cita:
y si fuesen amables, tambien explicarme correctamente esa funcion
Porque eso se explica perfecto en el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:31.