web-dev-qa-db-fra.com

Comment supprimer "http: //" lors de l'écho d'une URL?

Je cherche à faire écho le nom de domaine (url) sans "http: //" (ou "https: //").

J'ai créé ce qui suit:

<?php $surl = bloginfo('url'); $findh = array( 'http://' ); $replace = ''; $outputh = str_replace( $findh, $replace, $surl ); echo $outputh; ?>

aussi un autre (de nombreux) j'ai essayé:

<?php $surl = bloginfo('url'); echo str_replace('http://', '', $surl); ?>

Cela ressemble à une tâche simple, mais la sortie inclut toujours le "http: //" lorsque le domaine est répercuté. Revu d'autres articles ici et d'autres sites en vain. Peut-être que quelque chose dans les fichiers de base de Wordpress interfère, ce qui est incertain.

Merci d'avance pour vos commentaires!

1
Dan

bloginfo echos son résultat, c’est pourquoi votre tentative "d’obtenir la valeur" et de la manipuler n’a aucun résultat, puisqu’aucune valeur n’est en fait renvoyée. Si vous voulez obtenir la valeur pertinente, utilisez plutôt get_bloginfo

3
Mark Kaplun

Vous pouvez utiliser le noyau PHP fonction parse_url(); pour cela.

Exemple:

$url              = 'https://www.google.com/';
$url_data         = parse_url( $url );
$url_data['Host'] = explode( '.', $url_data['Host'] );
unset( $url_data['Host'][0] );

echo join( '.', $url_data['Host'] ); // outputs: google.com
1
Michael Ecklund

essayez ceci peut vous aider,

$link = get_permalink();
    $remove_http = '#^http(s)?://#';
    $remove_www  = '/^www\./';
    $replace     = '';
    $new_link    = preg_replace( $remove_http, $replace, $permalink );
    $new_link    = preg_replace( $remove_www, $replace, $new_link );
    echo '<p>' . $new_link . '</p>';
0
UltimateDevil