it-swarm.com.de

So entfernen Sie "http: //" beim Echo von URL?

Ich versuche, den Domain-Namen (URL) ohne 'http: //' (oder 'https: //') wiederzugeben.

Ich habe folgendes erstellt:

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

auch eine andere (von vielen) habe ich versucht:

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

Scheint eine einfache Aufgabe zu sein, aber die Ausgabe enthält immer noch das 'http: //', wenn die Domain als Echo ausgegeben wird. Überprüfte andere Beiträge hier und andere Websites ohne Erfolg. Vielleicht ist etwas in Wordpress-Basisdateien störend, nicht sicher in diesem Fall.

Vielen Dank im Voraus für jede Rückmeldung!

1
Dan

bloginfo echos sein Ergebnis, das ist, warum Ihr Versuch, "den Wert zu erhalten" und ihn zu manipulieren, zu nichts führt, da tatsächlich kein Wert zurückgegeben wird. Wenn Sie den relevanten Wert erhalten möchten, sollten Sie stattdessen get_bloginfo verwenden

3
Mark Kaplun

Sie könnten hierfür die PHP-Kernfunktion parse_url(); verwenden.

Beispiel:

$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

versuchen Sie dies kann Ihnen helfen,

$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