Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2010, 22:36
diego007007
 
Fecha de Ingreso: enero-2009
Ubicación: en la casa
Mensajes: 223
Antigüedad: 15 años, 2 meses
Puntos: 3
Problema con sistema de filtrado

Hola amigos, les ecribo por un problema que tengo en un sistema de filtrado de URLs de una lista .txt (y lo mas extraño es que no me da errores para poderlos corregir)
bueno el codigo es el siguiente
Código PHP:
$text = @file_get_contents($archivo);
$text trim($text);        
$text preg_replace("/\s\s+/"' '$text);
$regExp1="/(http:[^ ]*)/i";
preg_match_all($regExp1,$text,$a);
$count count($a[1]);
$fa fopen("WL $gm.txt""a+" );
$fh fopen("$gm.txt""w" );
$tega "URL_REPORT_START \r\n\r\n";                            
fwrite$fh$tega);
for (
$row 0$row $count $row++) {
    
$mensaje $a[1][$row];
    if((
strlen($mensaje)-4) == strripos($mensaje,".com")){
        
$mensaje $mensaje."\r\n";                            
        
fwrite$fa$mensaje);
    }else{
        if((
strlen($mensaje)-4) == strripos($mensaje,".org")){
            
$mensaje $mensaje."\r\n";                            
            
fwrite$fa$mensaje);
        }else{
            if((
strlen($mensaje)-4) == strripos($mensaje,".net")){
                
$mensaje $mensaje."\r\n";                            
                
fwrite$fa$mensaje);
            }else{
                if((
strlen($mensaje)-3) == strripos($mensaje,".ru")){
                    
$mensaje $mensaje."\r\n";                            
                    
fwrite$fa$mensaje);
                }else{
                    if((
strlen($mensaje)-3) == strripos($mensaje,".br")){
                        
$mensaje $mensaje."\r\n";                            
                        
fwrite$fa$mensaje);
                    }else{
                        if((
strlen($mensaje)-4) == strripos($mensaje,".edu")){
                            
$mensaje $mensaje."\r\n";                            
                            
fwrite$fa$mensaje);
                        }else{
                            if((
strlen($mensaje)-3) == strripos($mensaje,".cn")){
                                
$mensaje $mensaje."\r\n";                            
                                
fwrite$fa$mensaje);
                            }else{
                                if((
strlen($mensaje)-3) == strripos($mensaje,".uk")){
                                    
$mensaje $mensaje."\r\n";                            
                                    
fwrite$fa$mensaje);
                                }else{
                                    if((
strlen($mensaje)-5) == strripos($mensaje,".info")){
                                        
$mensaje $mensaje."\r\n";                            
                                        
fwrite$fa$mensaje);
                                    }else{
                                        
$regExp1="/(http:\/\/[^ ]*\.[a-zA-Z0-9]{1,4}\/\S[^ ]*)/";
                                        if(
preg_match_all($regExp1,$mensaje,$xy)){
                                            
$mensaje $mensaje."\r\n";    
                                            
fwrite$fh$mensaje);
                                        }
                                        
$regExp2="/(http:\/\/[^ ]*\.[a-zA-Z0-9]{1,4}:[0-9]{1,6}\/\S[^ ]*)/";
                                        if(
preg_match_all($regExp2,$mensaje,$xy)){
                                            
$mensaje $mensaje."\r\n";    
                                            
fwrite$fh$mensaje);
                                        }
                                        if(!
preg_match_all($regExp1,$mensaje,$xy) && !preg_match_all($regExp2,$mensaje,$xy)){
                                            
$mensaje $mensaje."\r\n";    
                                            
fwrite$fa$mensaje);
                                        }
                                    }
                                }
                            }
                        }
                    }    
                }
            }
        }
    }    

Como les dije es un filtro de URLs, en este caso deja las URLs con extension y retira las que no tienen extension, osea
- con extension: http://www.forosdelweb.com/page7.php
- sin extension: http://www.forosdelweb.com/
el problema radica cuando encuentra URLs como esta (al momenta es la unica que e podido encontrar, puede dar errores con otras mas, pero no e visto):
- http://255.001/d=green.net/8/view
en la cual el programa se confunde y deja de trabajar dejando a la mitad el filtrado de la lista. Alguien que pueda ayudarme a corregir el codigo

salu2