Foros del Web » Programando para Internet » PHP »

Remover urls con PHP para evitar el spam

Estas en el tema de Remover urls con PHP para evitar el spam en el foro de PHP en Foros del Web. Que tal, estoy creando una aplicacion colaborativa donde cualquier usuario pueda ingresar información a la web pero me preocupa el tema del spam y me ...
  #1 (permalink)  
Antiguo 27/02/2009, 13:13
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Remover urls con PHP para evitar el spam

Que tal, estoy creando una aplicacion colaborativa donde cualquier usuario pueda ingresar información a la web pero me preocupa el tema del spam y me gustaria saber si tienen un metodo para remover urls y nombres de dominios en un string con PHP

Estoy construyendo un regexp pero no se que tan efectivo sea:
Código PHP:
$texto eregi_replace("(h?t?t?p?s?\:\/\/)","",$texto);
$texto eregi_replace("(www\.)?[0-9A-Za-z]+\.[A-Za-z]{2,6}(\.[A-Za-z]{2,6})?","",$texto); 
  #2 (permalink)  
Antiguo 27/02/2009, 13:31
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Respuesta: Remover urls con PHP para evitar el spam

Lo he cambiado asi y parece funcionar mejor pero todavia no me convence del todo:
Código PHP:
$texto eregi_replace("(h?t?t?p?s?\:\/\/)","",$texto);
$texto eregi_replace("([0-9A-Za-z\-]+\.)?[0-9A-Za-z]+\.[A-Za-z]{2,6}(\.[A-Za-z]{2,6})?([^\s])*","",$texto); 
  #3 (permalink)  
Antiguo 27/02/2009, 15:20
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Remover urls con PHP para evitar el spam

Código PHP:
Ver original
  1. $primero = ('http://');
  2.  
  3. $despues = ('');
  4.  
  5. $luego = str_replace($primero, $despues, $luego);



Espero que te sirva , cuando alguien escribe http://www.misitio.com sale www.misitio.com y de esta manera no lo linkea , si no era de esa forma lo que querias modifica las variables


un abrazo
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #4 (permalink)  
Antiguo 27/02/2009, 15:28
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Respuesta: Remover urls con PHP para evitar el spam

Gracias por la respuesta pero creo que mi codigo estaba un poco más avanzado, ademas de remover el simple http tambien remueve nombres de dominios, subdominios y urls completas con variables
  #5 (permalink)  
Antiguo 27/02/2009, 15:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Remover urls con PHP para evitar el spam

Código PHP:
$expr // Es una expresion algo compleja:
    
'/(?<=^|[\t\r\n\s\(\[\]\|<&;])'.
    
// Al menos, algun espacio a la izquierda o
    // algun caracter de apertura tipo parentesis
    
'(?:(?:[a-z]{3,7}:\/\/)|(?:\w+@?))*'.
    
// ¿protocolo://user@pass:mail?
    
'(?:[-\.\w]+)(?:\.[a-z]{2,3})+'.
    
// dominio.com o nombre.de.mail
    
'(?::\d{1,5})?'// puerto
    // Todo lo que sea, menos comillas... o cualquier caracter
    // de cierre como parentesis
    
'(?:[^,;\.\'\"\s\(\[\]\|\)>&;]+)*/i';

$text preg_replace($expr'[bloqueado]'$text); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 27/02/2009, 15:41
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Respuesta: Remover urls con PHP para evitar el spam

Gracias pateketrueke voy a probarlo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:35.