Hola gente como están? Hace 1 semana que me estoy rompiendo la cabeza con las expresiones regulares en PHP. Para colmo nunca las entendi bien y me cuestan muchísimo...
Para un trabajo de facultad tengo que extraer el NOMBRE y el LINK de cada AUTOR en varias paginas HTML (de un catalogo online de libros):
Código HTML:
<p class="Entrada">
AUTORES:
<a href="URL AL AUTOR1">NOMBRE DEL AUTOR1</a>,
<a href="URL AL AUTOR2">NOMBRE DEL AUTOR2</a>,
<a href="URL AL AUTOR3">NOMBRE DEL AUTOR3</a>.
</p>
Lo que tengo que haces es conseguir un Array Multidimensional con los resultados:
Código:
Array
(
[0] => Array
(
[0] => http://www.autor1.com
[1] => http://www.autor2.com
[2] => http://www.autor3.com
)
[1] => Array
(
[0] => NOMBRE AUTOR1
[1] => NOMBRE AUTOR2
[2] => NOMBRE AUTOR3
)
)
Para lograr eso utilizaria la función
preg_match_all, el unico problema es que no logro dar con el pattern adecuado, por ahora estoy intentando con este pero me tira la URL con las tags y 1 solo nombre:
Código:
$pattern = "#\<a href\=\".*\"\>(.*?)\<\/a\>#";
El pattern tendría que funcionar que empezar a buscar cuando aparezca "
<p class="Entrada">AUTORES:" (Ya que hay mas <p class="Entrada"> en la web) y dentro de cada "<a>", las que terminan con , y . (para la ultima entrada)
Si me pudieran dar algún indicio de como corregir el pattern se los agradeceria mucho!
Saludos