Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/09/2013, 15:58
pitger
 
Fecha de Ingreso: septiembre-2013
Mensajes: 33
Antigüedad: 10 años, 7 meses
Puntos: 4
Respuesta: Cargar datos extraidos con 'RegExpr' en array php

Ante todo muchas gracias pateketrueke

Estaba convencido que alguien diría de mi expresión regular...

...lo cierto es que no he trabajado casi con ellas y bueno, busqué unos símbolos comodín que me valiesen para ello y salir al paso rápidamente.

El resultado que obtengo con tu expresión regular es el mismo pero diría que se nota que va mas rápido (no sé, habría que testearlo para ver si es así y seguro que ademas es mas eficiente, a mi al menos me parece que carga mas rápido y mas liviano).

Digo que el resultado es el mismo (o muy similar), pues mira, al hacer un print_r($coincidencias); me sale esto, que es lo mismo que me salía con lo que ya tenía:

Código:
Array
(
    [0] => <a href="http://www.website.com/img.php?image=image1.jpg"><img src="http://www.website.com/img.php?image=image1_min.jpg" style="max-width: 210px; max-height: 230px"></a>
    [1] => <img src="http://www.website.com/img.php?image=image2_min.jpg" style="max-width: 210px; max-height: 230px">
)
Como se puede apreciar, el 1º registro del array está perfecto pero el segundo sale una porción (concretamente sin el codigo correspondiente al enlace)... y ya tercera, cuarta y eNesima imágen no las carga en el array y al menos debería cargar 8 o 9 imágenes.

Esta es la parte B del problema... ahí ya no sé donde está exáctamente el error, si es por la expresión regular o si es por el PHP, también por eso lo metí aquí, en este apartado del foro.

Por si tuviese algo que ver (yo diría que no influye pero...), deciros que tengo esto en medio de un "while", pues esto que hemos visto son las acciones para cargar los datos de 1 galería de fotos, pero yo cargo todas las galerías de fotos de una temática o sección en concreto, de modo que me muestre todos los albumes que tiene esa sección.

Resumiendo un poco, lo hago así:

Código PHP:
<?php
while( $resultado mysql_fetch_array($familia) ){

$cadena=$resultado["post_text"];
$patron  "|<a\s+href[^<>]*>(.+?)</a>|";        
preg_match($patron$cadena$coincidencias);


//aquí cargo los divs y datos específicos correspondientes, 
//y para el recuento de fotos usando...
echo count ($coincidencias);

// luego algo mas de contenidos, y la foto...
print_r($coincidencias[(0)]);

//y una vez con esos datos finalizo el while 
}?>
¿Se está cargando mal los datos en el array? ¿porqué no pone cada bloque de código encontrado con RegExp (<a href="http://www.website.com/img.php?image=image1.jpg"><img src="http://www.website.com/img.php?image=image1_min.jpg" style="max-width: 210px; max-height: 230px"></a>)en cada registro del array