es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Extraiga parte de una cadena antes y después de ciertos caracteres.

Necesito extraer una variable basada en una parte de una cadena. La cadena corresponde a un nombre de dominio de tercer nivel, como en el ejemplo de abajo.

$variable1 = “subdomain1.domain24.com”
$variable2 = “subdomain2.newdomain24.com”

Tengo que extraer del dominio (excluyendo el subdominio) el nombre de dominio de nivel superior (TLD) y el número 24. Todos los dominios terminan con “24.com”.

Por lo tanto, el resultado debe ser:

para variable1: domain
para variable2: newdomain

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para extraer la porción deseada de la cadena, puedes utilizar la función strstr de PHP, que busca la primera aparición de una cadena dentro de otra cadena y devuelve la subcadena a partir de ese punto.

    Aquí está el código para extraer el TLD y el número 24 de las cadenas dadas:

    $variable1 = "subdominio1.dominio24.com";
    $tld1 = strstr($variable1, '.', true); // devuelve "dominio24"
    $num1 = str_replace('dominio24', '', $tld1); // devuelve "24"
    
    $variable2 = "subdominio2.nuevodominio24.com";
    $tld2 = strstr($variable2, '.', true); // devuelve "nuevodominio24"
    $num2 = str_replace('dominio24', '', $tld2); // devuelve ""
    
    if ($num1 == '24') {
      echo str_replace('24', '', $tld1); // imprime "dominio"
    }
    
    if ($num2 == '24') {
      echo str_replace('24', '', $tld2); // imprime "nuevodominio"
    }
    

    Explicación:
    – La función strstr($cadena, $buscar, $antes_de_aguja) busca la primera aparición de $buscar en $cadena y devuelve la porción de $cadena desde el principio hasta la aparición de $buscar si $antes_de_aguja es verdadero. En nuestro caso, queremos obtener la subcadena antes del primer caracter de punto (que separa el subdominio del dominio).
    – Luego, podemos aplicar la función str_replace para eliminar la parte no deseada del TLD y obtener el número 24.
    – Finalmente, comprobamos si el número extraído es realmente 24 e imprimimos el nombre de dominio.

Comments are closed.