Foros del Web » Programando para Internet » PHP »

Usar preg_replace() con una funcion

Estas en el tema de Usar preg_replace() con una funcion en el foro de PHP en Foros del Web. Buenas comunidad, de nuevo tengo otro problema con lo del bbcode xD, mi pregunta es: Se puede usar bbcode reemplazando un texto por una funcion ...
  #1 (permalink)  
Antiguo 21/06/2009, 10:05
Avatar de Kenichi  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 160
Antigüedad: 15 años, 3 meses
Puntos: 6
Usar preg_replace() con una funcion

Buenas comunidad, de nuevo tengo otro problema con lo del bbcode xD, mi pregunta es: Se puede usar bbcode reemplazando un texto por una funcion que usa ese texto? Es decir, lo que quiero hacer es esto:
Código PHP:
<?php
function resaltarphp($texto)
{
   
$texto html_entity_decode($texto); // Saco el htmlentities que use antes
   
$texto highlight_string($texto); // Doy el highlight
   
return $texto// Devuelvo el codigo resaltado
}
function 
bbcode($texto)
{
   
$texto htmlentities($texto);
   
$texto preg_replace("/\[php\](.*?)\[\/php\]/is","<fieldset class=\'php\'><legend>Codigo PHP: </legend>".resaltarphp($1)."</fieldset>"$texto);
  return 
$texto;
}
?>
Pero cuando uso esa funcion, me este parse error:
Cita:
Parse error: parse error, expecting `T_VARIABLE' or `'$'' in C:\wamp\www\foro desde 0\foro\editor\funciones.php on line 56
Les agradeceria mucho su ayuda
Saludos
  #2 (permalink)  
Antiguo 21/06/2009, 10:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Usar preg_replace() con una funcion

Claro que es posible pero tienes que usar callback: preg_replace_callback para poder llamar a la función en el reemplazo.

Saludos.
  #3 (permalink)  
Antiguo 21/06/2009, 11:21
Avatar de Kenichi  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 160
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Usar preg_replace() con una funcion

De acuerdo, probare a ver si me sirve, Gracias
  #4 (permalink)  
Antiguo 21/06/2009, 18:51
Avatar de Kenichi  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 160
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Usar preg_replace() con una funcion

Ya lo intente, muchas veces y no me sale
Puedes darme un ejemplo de como usarlo? En el manual de php no se entiende u.u
Saludos
  #5 (permalink)  
Antiguo 21/06/2009, 20:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Usar preg_replace() con una funcion

mmm...

no se trata de intentar a ciegas, hay que saber intentar...


primero, debiste buscar en el foro... he visto varios ejemplos perfectos!!

Código PHP:
function foo($match)
{
  return 
ucwords($match[1]);
}

$bar preg_replace_callback('/\[candy\](.*)\[\/candy\]/''foo'$bar);

// o... (es identico al anterior)

$bar preg_replace('/\[candy\](.*)\[\/candy\]/e''ucwords("\\1")'$bar); 

PDTA: el manual de PHP es muy claro, pero no para mentes nubladas... hay que tener los ojos (y la mente) abiertos!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 21/06/2009 a las 21:04
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 23:54.