Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/03/2013, 13:42
Avatar de CHuLoSoY
CHuLoSoY
 
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 3 meses
Puntos: 29
Pregunta preg_replace con llamada a un método

Buenas amigos.

Estoy en un problemilla y es que necesito que con una expresión regular, detectar una pequeña coincidencia en un string y reemplazarla por una llamada a un método que devuelve HTML.

Lo que estoy haciendo es lo siguiente:
Código PHP:
$contenido "[Pasaelementos=5]";
$a preg_replace('/\[Pasaelementos=(\d+)\]/'$_PAGINA->Pasaelementos("\\1"), $contenido); 
Pero el parámetro al método siempre va vacío. Si en cambio convierto la llamada en un string:
Código PHP:
$contenido "[Pasaelementos=5]";
$a preg_replace('/\[Pasaelementos=(\d+)\]/''$_PAGINA->Pasaelementos(\\1)'$contenido); 
Funciona a la perfección, pero claro, lo que hace es devolverme la cadena $_PAGINA->Pasaelementos(5) suponiendo que el patrón buscado es [Pasaelementos=5]

He probado a llamar la función con eval() y con call_user_func() pero tampoco funciona supongo que por problemas de seguridad.

Alguien sabe cómo detectar una coincidencia y llamar a un método o debería cambiar el sistema?

Saludos!
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Última edición por CHuLoSoY; 17/03/2013 a las 13:53