Foros del Web » Programando para Internet » PHP »

Convirtiendo email en un enlace..

Estas en el tema de Convirtiendo email en un enlace.. en el foro de PHP en Foros del Web. Hola, haber si alguien me puede ayudar... Tengo este código que convierte una cadena tipo [email protected] en un vinculo del tipo mailto:[email protected] Código PHP: <?php $row ...
  #1 (permalink)  
Antiguo 15/09/2004, 04:10
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 10 meses
Puntos: 0
Convirtiendo email en un enlace..

Hola, haber si alguien me puede ayudar...

Tengo este código que convierte una cadena tipo [email protected] en un vinculo del tipo mailto:[email protected]

Código PHP:
<?php $row['contacto'] = ereg_replace("[[:alpha:]]+@[^<>[:space:]]+[[:alnum:]/]""<a href=mailto:\\0>\\0</a>"$row['contacto']); echo $row['contacto'?>
Mi problema es que por alguna extraña razón si ese email posee un carácter como _ o -, (Ej: [email protected]), no lo convierte en un enlace. ¿Alguien sabría decirme porque y alguna posible solución?

Muchisimas gracias de antemano. Saludos
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #2 (permalink)  
Antiguo 15/09/2004, 04:49
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

Creo que - _ y los numeros no entran en la definicion de :alpha:.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 15/09/2004, 05:10
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 10 meses
Puntos: 0
Si tienes razón josemi, hice un arreglito ya que tampoco funcionaba con números en el email, y parece que así si funciona con números:

[[:alpha:]]+[[:alnum:]]+@[^<>[:space:]]+[[:alnum:]/]

ahora me falta con los guiones... ab si lo consigo. Gracias

saludos
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #4 (permalink)  
Antiguo 15/09/2004, 06:32
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 10 meses
Puntos: 0
Bueno lo del guión bajo, a quién le interese, lo he solucionado de esta forma:

[[:alpha:]_]+[[:alnum:]]+@[^<>[:space:]]+[[:alnum:]/]

Saludos y gracias
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #5 (permalink)  
Antiguo 15/09/2004, 06:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Bueno, lo mejor es que tengas una lista de direcciones de email validas y no validas y vayas comprobando si la salida de esta regex es la correcta. Por ejemplo, no validas si el tld (.com, etc) es valido (o al menos de una longitud valida). Y no se si validas que debe contener un punto.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 13:04.