Ver Mensaje Individual
  #9 (permalink)  
Antiguo 29/10/2012, 11:28
Avatar de xarmagedonx
xarmagedonx
 
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 8 meses
Puntos: 29
Respuesta: Evitar utilizar loop recursivo

Hola!, probé el código, pero no funciona =S, me marca Undefined offset: 0, y después Error en la inserción de datos.


Pensé hacer un cambio en el código también...

Esta parte del código:
Código PHP:
Ver original
  1. preg_match_all ("(<meta name=\"keywords\" content=\"(.*)\"\/>)siU", $html, $keys);

Podría ser reemplazado con esto:
Código PHP:
Ver original
  1. $keyw = preg_match_all ("(<meta name=\"keywords\" content=\"(.*)\"\/>)siU", $html, $keys);
  2.         if ($keyw !== false){
  3.         preg_match_all("#<\s*b[^>]*>[^<]+</b>#is", $html, $b);
  4.         preg_match_all("#<\s*h1[^>]*>[^<]+</h1>#is", $html, $h1);
  5.         $h1 = $encabezado1[1][0];
  6.         $b = $bold[1][0];
  7.         }

En caso de que meta keywords no retorne nada, se extrae el encabezado1 o h1, se podría seguir extendiendo utilizando h2,h3,h4...etc, también extrae todos los bold (<b></b>), de esta manera se reemplaza la meta por los encabezados y negrita.

Saludos!

EDITO: Tenía un código viejo del webcrawler, que funciona mejor para las meta description y keywords:
Código PHP:
Ver original
  1. for ($i = 0; $i < $hrefs->length; $i++) {
  2.         $href = $hrefs->item($i);
  3.         $url2 = $href->getAttribute('href');
  4.  
  5.         if($href->getAttribute('name') == 'description')
  6.         $descripcion = $href->getAttribute('content');
  7.         if($href->getAttribute('name') == 'keywords')
  8.         $keywords = $href->getAttribute('content');

Última edición por xarmagedonx; 29/10/2012 a las 13:46