Foros del Web » Programando para Internet » PHP »

Seleccionar y quitar caracteres de gethostbyaddr

Estas en el tema de Seleccionar y quitar caracteres de gethostbyaddr en el foro de PHP en Foros del Web. Hola! Llevo un rato intentado quitar los caracteres de una variable, en concreto quiero quitarlo resolucion de hostname que se hace con gethostbyaddr en PHP, ...
  #1 (permalink)  
Antiguo 02/12/2009, 07:40
 
Fecha de Ingreso: mayo-2008
Mensajes: 39
Antigüedad: 15 años, 11 meses
Puntos: 1
Seleccionar y quitar caracteres de gethostbyaddr

Hola!

Llevo un rato intentado quitar los caracteres de una variable, en concreto quiero quitarlo resolucion de hostname que se hace con gethostbyaddr en PHP, ya que por ejemplo me daria un resultado de "52.142.8.20.dynamic.ono.com" y lo que me interesa sacar es unicamente el dominio del ISP (proveedor) en este caso, ono.com, osease, eliminar el resto de caracteres.

He usado el siguiente código pero sin resultados;
Código PHP:
$ip $_SERVER['REMOTE_ADDR'];
$fullhost gethostbyaddr($ip);
$host preg_replace("/^[^.]+.[0-9_]*/"""$fullhost); 
Como podeís ver he usado la funcion preg_replace, pero no acabo de aclararme.
¿No sería más facil decirle que empieze por el final y que lea la variable hasta el segundo punto? con que funcion global se puede hacer?
alguien lo ha intentado tambien? no creo que sea muy dificil, pero no consigo hacer que me salga como quiero.

gracias de antemano!
  #2 (permalink)  
Antiguo 02/12/2009, 07:46
Avatar de gigoz  
Fecha de Ingreso: noviembre-2009
Mensajes: 106
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Seleccionar y quitar caracteres de gethostbyaddr

Usa la funcion substr para sustraer un parte de la cadena.

$ip = $_SERVER['REMOTE_ADDR'];
$fullhost = gethostbyaddr($ip);

substr($fullhost,20,7)

el primer numero (20) es desde donde empieza el a tomar los datos y el 7 la cantidad de caracteres.

espero que te sirva
  #3 (permalink)  
Antiguo 02/12/2009, 07:48
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Seleccionar y quitar caracteres de gethostbyaddr

Código php:
Ver original
  1. $ip = "52.142.8.20.dynamic.ono.com";
  2. preg_match("/([a-z0-9]+)\.([a-z0-9]+)$/i", $ip, $respuesta);  
  3. echo $respuesta[0];

espero te sirva

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #4 (permalink)  
Antiguo 02/12/2009, 08:07
 
Fecha de Ingreso: mayo-2008
Mensajes: 39
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Seleccionar y quitar caracteres de gethostbyaddr

Muchas gracias a ambos.

Ahora mismo estaba probando con la funcion substr pero he visto que no es lo que busco.
Muchas gracias Hidek1, esto es realmente lo que buscaba, pero de todos modos, aun viendo el código no me queda claro donde declaras que coga solo las palabras despues del punto, lo de saltar el rango de caracteres lo entiendo, pero lo otro no.
Por otro lado, en la documentacion de PHP he visto que la segunda variable la visualiza cómo array, ¿eso se puede cambiar?
Lo que he pensado es redeclarar la variable, pero sería redundante.

En fin, muchas gracias!
  #5 (permalink)  
Antiguo 02/12/2009, 08:10
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Seleccionar y quitar caracteres de gethostbyaddr

/([a-z0-9]+)\.([a-z0-9]+)$/i

traduccion

las dos ultimas palabras de una linea separadas por un punto
lo del array lo muestro con $respuesta[0]
si quieres lo asignas a otra variable
$variable = $respuesta[0];

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
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 08:42.