Foros del Web » Programando para Internet » PHP »

Cómo agregar rel="nofollow" automáticamente

Estas en el tema de Cómo agregar rel="nofollow" automáticamente en el foro de PHP en Foros del Web. Estoy recogiendo información por medio de un TEXTAREA la cual agrego a una variable para luego imprimir. El usuario podría ingresar un link en este ...
  #1 (permalink)  
Antiguo 17/01/2011, 04:26
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
De acuerdo Cómo agregar rel="nofollow" automáticamente

Estoy recogiendo información por medio de un TEXTAREA la cual agrego a una variable para luego imprimir. El usuario podría ingresar un link en este textarea.

A la hora de imprimir la variable, si hay algún link, quisiera que se imprimiera con el atributo rel=nofollow en el código, algo así como hacen los blogs con los comentarios.

Alguien podría por favor decirme cómo hacerlo o remitirme a algún tutorial.

Le quedo agradecido

Última edición por Aprendix ABC; 17/01/2011 a las 04:35
  #2 (permalink)  
Antiguo 17/01/2011, 11:51
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Cómo agregar rel="nofollow" automáticamente

Código PHP:
Ver original
  1. $texto = str_replace('<a href="', '<a rel="nofollow" href="', $texto);

Funcion str_replace()
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 18/01/2011, 06:01
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Cómo agregar rel="nofollow" automáticamente

Gracias Triby No sé por qué pensé que eso se hacía con las complicadísimas expresiones regulares.
  #4 (permalink)  
Antiguo 18/01/2011, 12:13
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Cómo agregar rel="nofollow" automáticamente

De hecho es mas efectivo con las complicadisimas expresiones regulares, pero... estamos dando por supuesto que el usuario agregara los enlaces de esa forma... si meten o mas espacios entre <a y href= no funcionara con str_replace.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 18/01/2011, 12:21
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 5 meses
Puntos: 334
Respuesta: Cómo agregar rel="nofollow" automáticamente

Código PHP:
$texto preg_replace('/<a(.*?)>/i''<a rel="nofollow" $1>'$texto); 
taaaaan complicadas no son tampoco :( !
  #6 (permalink)  
Antiguo 24/01/2011, 14:11
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Busqueda Respuesta: Cómo agregar rel="nofollow" automáticamente

jaja, el que sabe sabe Hidek1, gracias !! funciona muy bien.

reBuscando me encontré con otra un poco más compleja que también me sirvió, pero no sé cuál vendría siendo la diferencia con la tuya que la hiciste de manera tan simple:

Aquí la dejo por si alguien le sirve de algo en un futuro.

Código PHP:
function filterHref ($str) {
$str stripslashes($str);
$preg "/<[\s]*a[\s]*href=[\s]*[\"\']?([\w.-]*)[\"\']?[^>]*>(.*?)<\/a>/i";
preg_match_all($preg$str$match);
foreach (
$match[1] as $key=>$val) {
$pattern[] = '/'.preg_quote($match[0][$key],'/').'/';
$replace[] = "<a href='{$match[2][$key]}' rel='nofollow'>{$match[2][$key]}</a>";
}
return 
preg_replace($pattern$replace$str);

Código PHP:
echo $comments filterHref($comments); 
  #7 (permalink)  
Antiguo 24/01/2011, 14:15
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 5 meses
Puntos: 334
Respuesta: Cómo agregar rel="nofollow" automáticamente

mmm en realidad nose de donde saques esos codigos.. pero esa bastante raro x_x

empezando por el pattern :S
"/<[\s]*a[\s]*href=[\s]*[\"\']?([\w.-]*)[\"\']?[^>]*>(.*?)<\/a>/i";

se supone que busca las etiquetas <a> ... pero también coincide con < a> lo cual no es valido .. :S
aparte carece de lógica y hace trabajo demás

saludos.,
  #8 (permalink)  
Antiguo 24/01/2011, 21:16
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Cómo agregar rel="nofollow" automáticamente

Sí, tienes razón Hidek, el post de donde lo saqué es sumamente viejo. Tu código va al grano y funciona a las mil maravillas, gracias nuevamente

Etiquetas: Ninguno
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 09:04.