Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/11/2009, 11:39
Avatar de IMAC/
IMAC/
 
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 19 años, 3 meses
Puntos: 14
De acuerdo Llamar a función dentro de un array al que se le aplica preg_replace

Buenas

Me gustaría poder trabajar con una cadena que obtengo en un array con el $1 a través de una expresión regular de otra.
Me explico, tengo esto:
Código PHP:
$a = array(
      
"/\[img\](.*?)\[\/img\]/is"
)

$b = array(
     
"<img src=\"$1\" style=\"width: 220px; height: 100px;\" />",
)

$todopreg_replace($a$b$todo); 
Y me gustaría poder usar la cadena que recibe la segunda expresión en $1 para pasarla por parámetro a una función y obtener una subcadena de la misma para usar por ejemplo en un link.
Algo similar a esto:

Código PHP:
$a = array(
      
"/\[img\](.*?)\[\/img\]/is"
)

$b = array(
     
"<a href=\""subcadena("$1"). "\"> <img src=\"$1\" style=\"width: 220px; height: 100px;\" /></a>",

Siendo subcadena una funcion en PHP definida por mi.

El problema que me encuentro es que cuando esa función recibe el parámetro, no recibe la cadena en si, sino el simbolo "$1", a pesar de que si esa función hiciera un return de la misma tal cual la recibe, si que obtengo la cadena en la página final interpretada.

No se si es debido a que hago algo mal o a que simplemente no se puede hacer lo que quiero.

En caso de que no se pueda hacer, ¿qué me recomendaríais para poder obtener una subcadena de ese $1 que tengo en el array y que desconozco cual puede ser?

Saludos.
Si me he explicado mal, decídmelo.

Última edición por IMAC/; 20/11/2009 a las 11:59