Muchas gracias a los dos, al final me decidi por la opción de emiliodeg, kedandome algo tal que asi:
Código:
preg_match_all('/\[g=([0-9]+)\]/',$Row[texto],$g);
$xid = $g[1][0];
if ($xid)
{
$pag_fotos = mysql_query ("SELECT img_id FROM imagenes WHERE (xid='$xid' && estado='1') ORDER BY id ASC");
$m=0;
$blog_galeria[$j] = array();
While ($Row = mysql_fetch_array ($pag_fotos))
{
$blog_galeria[$j][$m] = $Row[img_id];
$m++;
}
}
No termino de entender muy bien como funciona (no soy muy bueno en php) y me lio con todos esos signos que hay (para que valen?? l('/\[g=([0-9]+)\]/') y de nuevo dos dudas:
- ¿como se podría modificar esos signos para que reconociera algo mas que numeros? me gustaria que $g pudiera valer "23.viajes.5" algo asi, de manera que luego con explode pudiera sacar 3 variables (23, viajes y 5). Tal y como esta ahora el preg_match_all solo reconoce numeros y no tengo ni idea de como ponerlo para que acepte numeros, letras y puntos.
- ¿Como se podría eliminar la etiqueta [g=23.viajes.5] del texto? Tal y como hago ahora con preg_match_all detecto si existe $g, y si es asi muestro las imagenes, pero luego no se como hacer para eliminar la etiqueta anterior, para que no se muestre junto con el texto y las letras.
Un saludo y de nuevo gracias