Tengo un foro en el cual hay usuarios que en el mensaje además de exponer sus preguntas y respuestas también ponen números de teléfono.
¿Cómo puedo hacer un tratamiento de estas cadenas para detectar cual contiene un teléfono (fijo o móvil) y remplazarla por un texto que yo elija?
Actualmente utilizo una función para filtrar URLs, que ahora tengo que adaptar para números de teléfono.
Código:
Tengo que tener en cuenta que los números de teléfono los pueden haber insertado en los siguientes formatos dentro de la cadena:Function filtra_string(byval str) Dim comienzo, strurl Do while (instr(str,"http://")>0) or (instr(str,"www.")>0) strurl = "" 'Calculamos la pos. del comienzo de la URL comienzo = instr(str,"http://") if comienzo = 0 then comienzo = instr(str,"www.") End if 'Construimos la URL detectada Do while (mid(str, comienzo, 1) <> " ") and (comienzo <> len(str) + 1) strurl = strurl + mid(str, comienzo, 1) comienzo = comienzo + 1 Loop 'y la reemplazamos en la cadena original str = replace(str,strurl,"[contenido bloqueado]") 'vamos a por la siguiente en caso que exista Loop filtra_string = str End Function
- 6XXXXXXXX
- 6XX.XXX.XXX
- 6XX XXX XXX
- 6XX XX XX XX
- 93 XXX XX XX
- 93XXXXXXX
- 93X XXX XXX
- 93X.XXX.XXX
Dado que la casuistica es variable no acabo de dar con la formula para acabar de contemplar dichos casos.
Quisiera que quedar de la siguiente manera:
Texto original:
Cita:
Texto tratado:Hola, me llamo Fuckencio y me gusta mucho. Llamame al 666 666 666. Gracias a todos
Cita:
Gracias en adelante.Hola, me llamo Fuckencio y me gusta mucho. Llamame al [contenido bloqueado]. Gracias a todos
Un saludo