Articulos/Guias

Recursos

Patrocinadores
Patrocinador

Obtener automaticamente las etiquetas meta-tag de una web con expresiones regulares

Añadido el 07/06/2007

Obtener las meta-tag de un web de forma automática es un proceso relativamente sencillo con php.

El propio php dispone de funciones propias para realizar dicha funcion, pero en nuestro caso, utilizaremos expresiones regulares para obtener el mismo objetivo.

¿Por qué lo hacemos así?

Simplemente para exponeros una interesante herramienta que puede serviros para muchas otras cosas: parsear codigo xml, rss, obtener información de webs,...

Para empezar, hay que identificar la url de destino, de donde queremos obtener el codigo html: $url = "http://www.navegalis.com"; Ahora lo primero que hay que hacer es abrir la url destino, y convertir todo el codigo de la pagina en un array: $fo = fopen($url,"r") or die ("No se encuentra la pagina."); while (!feof($fo)) {$cadena .= fgets($fo, 4096);} fclose ($fo); Ahora tenemos que identificar la parte de codigo que nos interesa: $htm="/<title>(.*?)</title>/is"; array ($link_titulo); preg_match_all ($htm,$cadena,$link_titulo); $titulo = $link_titulo[1][0]; Haciendo esto, obtenemos todo el codigo que se encuentra entre las etiquetas < /title></strong>. <br /><br /> <em><strong>Actualización (Ahora, php permite hacerlo directamente, por lo que no es necesario usar expresiones regulares para hacer lo siguiente).</strong></em><br /><br /> Ahora podemos hacer lo mismo para las etiquetas: description, keywords,... Pero para ello, usaremos una función de php: <strong>get_meta_tags</strong>. <code>$etiquetas = get_meta_tags('http://www.example.com/');</code> Y para mostrarlas: <code>echo $etiquetas['author']; echo $etiquetas['keywords']; echo $etiquetas['description']; </code> Con este ejemplo capturaremos el titulo y la descripcion de un web, esto mismo puedes usarlo para incorporar contenidos rss a tu web.</div><br /></div></div> </div> <div id="column3"> <script type="text/javascript"><!-- google_ad_client = "pub-5705011252123157"; google_alternate_ad_url = "http://www.navegalis.com/comunes/rotador.banner.alt.php?rotador=rascacielos"; google_ad_width = 160; google_ad_height = 600; google_ad_format = "160x600_as"; google_ad_type = "text_image"; //2007-12-04: navegalis google_color_border = "C3D9FF"; google_color_bg = "FFFFFF"; google_color_link = "003366"; google_color_text = "000000"; google_color_url = "6699CC"; google_ui_features = "rc:10"; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div> </div> <div id="pie" align="center"><div align="center"><b>Navegalis.com © 2003-2008</b> - <a href="javascript:void(0);" onclick="window.open('http://www.navegalis.com/legal.php', 'ventana', 'width=500, height=250, scrollbars=yes, menubar=no, location=no, resizable=no'); return false;">Legal</a></div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> <script type="text/javascript"> _uacct = "UA-4479224-1"; urchinTracker(); </script> </div> </div> </body> </html>