Foros del Web » Programando para Internet » PHP »

Ayuda - Obtener caracteres apartir del un . de un texto

Estas en el tema de Ayuda - Obtener caracteres apartir del un . de un texto en el foro de PHP en Foros del Web. Hola Tengo un problema para tomar una parte de un texto, ejemplo: Código PHP: <?php $isp = "dsl-201-135-201-XXX.prod-infinitum.com.mx" ; ?> entonces lo que necesito es ...
  #1 (permalink)  
Antiguo 28/03/2006, 13:14
Usuario baneado!
 
Fecha de Ingreso: marzo-2006
Ubicación: Cd. de México
Mensajes: 44
Antigüedad: 11 años, 8 meses
Puntos: 0
Exclamación Ayuda - Obtener caracteres apartir del un . de un texto

Hola

Tengo un problema para tomar una parte de un texto, ejemplo:

Código PHP:
<?php
$isp
="dsl-201-135-201-XXX.prod-infinitum.com.mx";
?>
entonces lo que necesito es tomar solo en com.mx pero ya lo intente asi:

Código PHP:
<?php
$isp
="dsl-201-135-201-XXX.prod-infinitum.com.mx";
$isp=substr($host,-6);
echo 
"Mi ISP: ".$isp."";
?>
y me devuelve com.mx pero que pasa con:

Código PHP:
<?php
$isp
="dsl-201-135-201-XXX.prod-infinitum.com";
?>
Me devolveria: um.com, practicamente seria decirle que nos tome del a partir del ante penultimo punto.

Si alguien me pudiera ayudar se lo agradeceria mucho!

Saludos
  #2 (permalink)  
Antiguo 28/03/2006, 13:35
Avatar de ebe
ebe
 
Fecha de Ingreso: marzo-2004
Ubicación: Guatemala
Mensajes: 363
Antigüedad: 13 años, 8 meses
Puntos: 11
ya probaste con explode()

una de las funciones útil para este caso es explode(), esta función acepta como parametros el caracter en el cual empezara a dividir la variable que le pases:

ej.
$mivariable = "proveedor.com.mx";
$separada = explode("." $mivariable);

// obtendriamos un array de 3 elementos , $separada[0] = proveedor;
// $separada[1] = com; y $separada[2] = mx;

Despues de ahi ya sería mas fácil para ti el ordenar ese contenido a tu propia conveniencia..

http://php.net/explode

saludos
__________________
http://dev.wsnetcorp.com
  #3 (permalink)  
Antiguo 28/03/2006, 13:52
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 13 años
Puntos: 1
Puedes probar con una expresión regular, así no tendrías que adivinar cuándo será ".com" y cuándo ".com.mx"

Código PHP:
//
<?
//Esta es tu cadena incial
$isp="dsl-201-135-201-XXX.prod-infinitum.com.mx";

//Mediante una expresión regular, extraemos los últimos seis
//caracteres cuando termine en ".xxx.yy" o bien, los últimos
//tres caracteres cuando sólo termine en ".xxx"
eregi("\.([a-z]{3}(:?\.[a-z]{2})?)$",$isp,$isp_breve);

//El resultado se almacenó en esta variable
echo $isp_breve[1];
?>
Suerte !
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #4 (permalink)  
Antiguo 14/04/2006, 02:11
Usuario baneado!
 
Fecha de Ingreso: marzo-2006
Ubicación: Cd. de México
Mensajes: 44
Antigüedad: 11 años, 8 meses
Puntos: 0
Gracias por responder, pero ahora tengo este problema:

Código PHP:
<?
//Esta es tu cadena incial
$isp="eu85-86-132-79.clientes.euskaltel.es";

//Mediante una expresión regular, extraemos los últimos seis
//caracteres cuando termine en ".xxx.yy" o bien, los últimos
//tres caracteres cuando sólo termine en ".xxx"
eregi("\.([a-z]{3}(:?\.[a-z]{2})?)$",$isp,$isp_breve);

//El resultado se almacenó en esta variable
echo $isp_breve[1];
?>
Como podria agregar esto:
//caracteres cuando termine en ".xxx.yy" o bien, los últimos
//tres caracteres cuando sólo termine en ".xxx"

//Y CUANDO TERMINE EN .xx

Gracias !!!!
  #5 (permalink)  
Antiguo 14/04/2006, 03:01
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 13 años
Puntos: 1
Esta te servirá:

eregi("\.([a-z.]{3}\.[a-z]{2}|[a-z]{3}|[a-z]{2})$",$isp,$isp_breve);
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #6 (permalink)  
Antiguo 16/04/2006, 03:50
Usuario baneado!
 
Fecha de Ingreso: marzo-2006
Ubicación: Cd. de México
Mensajes: 44
Antigüedad: 11 años, 8 meses
Puntos: 0
Perfecto, muchisimas gracias :p.

Saludos
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 01:18.