Como sacar el dominio de una cadena?

  • Autor Autor satanson
  • Fecha de inicio Fecha de inicio
a que simbolos te refieres? Si literalmente te lo esta dando en el formato que pediste
Lo que pasa es que salen:
Insertar CODE, HTML o PHP:
array(4) { [0]=> string(20) "https://forobeta.com" [1]=> string(22) "https://nitro.download" [8]=> string(18) "https://google.com" [13]=> string(20) "https://facebook.com" }
Es solo las url. a eso me refiero.
 
Lo que pasa es que salen:
Insertar CODE, HTML o PHP:
array(4) { [0]=> string(20) "https://forobeta.com" [1]=> string(22) "https://nitro.download" [8]=> string(18) "https://google.com" [13]=> string(20) "https://facebook.com" }
Es solo las url. a eso me refiero.

Pero solo tienes que recorrer el array e imprimirlo
1655420384155.webp
 
Pero solo tienes que recorrer el array e imprimirlo
Ver el archivo adjunto 777993
Resuelto un millon de gracias a todos:
PHP:
$urls = $cadena;

$lines = explode("\n", $urls);

foreach ($lines as $key => $value) {
    $value = trim($value);
    
    if (!preg_match('#https?://#i', $value)) {
        unset($lines[$key]);
    }
    
    $url = parse_url($value);
    $urlhost = $url['host'] ?? null;
    $urlscheme = $url['scheme'] ?? null;
    $domain_parts = explode('.', $urlhost);
    $domain_parts_length = count($domain_parts);
    $domain = '';
    
    if ($domain_parts_length > 2) {
        $domain = sprintf('%s.%s', $domain_parts[$domain_parts_length - 2], $domain_parts[$domain_parts_length - 1]);
    }
    
    $lines[$key] = sprintf('%s://%s', $urlscheme, (!empty($domain) ? $domain : $urlhost));
}


foreach(array_unique($lines) as $key => $url) {
    echo $url.'<br>';
}
}
 
Atrás
Arriba