Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2005, 10:00
Avatar de markshock
markshock
 
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
error en el desarrollo un buscador general para web

Hola a ver si me podeis hechar una mano, llevo todo el día desarrollando un buscador para una web.

Lo que hace el código es que le pasas una URL, accede a dicha url, recoge todo el texto que haya en dicha página (HTML o PHP) y separa el texto en palabras, entonces grabo la url en una tabla, las palabras en otra, y uso una tabla de relación para relacionar palabras - pagina.

pues bien el código de la página que realiza estas tareas de alimentación para el buscador es el siguiente, y me da error en la línea 67.

Error: Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in E:\beachsoccer\web2\buscador\crear_datos.php on line 67

Seguro que es una tontería pero llevo 2 horas ahí y no veo nada...

gracias x adelantado.

Cita:
<?

include("../inc/config.php");

/*
Script para alimentar el buscador con URL's y su contenido, creando una realción de palabras / página.
*/

/* Conectar a la base de datos: */
$link = Conectarse();
$dominio = "http://www.beachsoccer.com";

$select_db = "SELECT int_id_nodo,str_nombreNodo,str_link FROM bs_menu_nodos WHERE int_estado=1";
$result2 = mysql_query($select_db);

if(mysql_num_rows($result2)>=1){
while($row_p=mysql_fetch_array($result2)){
$id_page = $row_p["int_id_nodo"];
$name_page = $row_p["str_nombreNodo"];

$url = addslashes($row_p["str_link"]);

if( !$url ){
die( "Necesitas definir una URL para poder seguir" );
}else{
$url = $dominio."/".$url;
}

/* La url ya se encuentra grabada en la base de datos? */
$result = mysql_query("SELECT page_id FROM bs_search_pages WHERE page_id = ".$id_page);
$row2 = mysql_fetch_array($result);

if($row2["page_id"]){
/* Si ya lo estaba, usamos su ID: */
$page_id = $row2["page_id"];
}else{
/* Si no lo estaba creamos 1: */
mysql_query("INSERT INTO bs_search_pages (page_url,name_page,page_url) VALUES (".$id_page.",'".$name_page."','".$url."')");
$page_id = $id_page;
}
mysql_free_result($result);
/* Empezamos a parsear el texto para insertarlo en la tabla de la base de datos: */
if( !($fd = fopen($url,"r")) )
die( "NO se ha podido abrir la URL!" );

while( $buf = fgets($fd,1024) ){
/*Borramos los espacios en blanco*/
$buf = trim($buf);

/* Borramos todos los tags del HTML */
$buf = strip_tags($buf);
$buf = ereg_replace('/&\w;/', '', $buf);

/* Recogemos todas las palabras de cada línea */
preg_match_all("/(\b[\w+]+\b)/",$buf,$words);

/* Creamos un bucle para crear la relación página-palabra: */
for( $i = 0; $words[$i]; $i++ )
{
for( $j = 0; $words[$i][$j]; $j++ ){
/* Comprobamos que la palabra no se encuentre ya en la base de datos? */
$cur_word = addslashes( strtolower($words[$i][$j]) );
if(strlen($cur_word)>2){
if($cur_word!="nbsp" && $cur_word!="the"){
$result = mysql_query("SELECT word_id FROM bs_search_words WHERE word_word='".$cur_word."');
$row = mysql_fetch_array($result);
if($row["word_id"]){<--aquí me da el error
/* Si lo está, usamos el ID de la palabra: */
$word_id = $row['word_id'];
}else{
/* Si no, la insertamos y creamos otro ID: */
mysql_query("INSERT INTO bs_search_words (word_word) VALUES ('".$cur_word."')");
$word_id = mysql_insert_id();
}

/* Finalmente insertamos la relación palabra-página en la base de datos: */
mysql_query("INSERT INTO bs_search_occurrence (word_id,page_id) VALUES (".$word_id.",".$page_id.")");
print "Insertada: ".$cur_word."<br>";
}
}
}
}
}
fclose($fd);
}
}
/*cerramos la conexión*/
mysql_close($link);
?>
Ahora mismo y hasta las 19:00 de la tarde también tengo el código disponible en pastebin.com

http://www.pastebin.com/234183
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________

Última edición por markshock; 27/01/2005 a las 10:04