echo post-permalink ohne http und www

Ich habe diese Linie …

 

und das Ergebnis auf meiner Seite sieht so aus …

 http://mysite.com/whatever/post-or-so 

Ich denke, es könnte auch so aussehen …

 http://www.mysite.com/whatever/post-or-so 

Allerdings hätte ich gerne nur mysite.com/whatever/post-or-so ohne das http:// oder www davor.

Was ist der beste und einfachste Weg?

Versteh mich nicht falsch, das hat nichts mit Umschreiben von Permalinks oder was auch immer. Nur ein einfaches Echo von the_permalink() auf meiner Seite, das nicht als Link, sondern als normaler Text behandelt wird. Und in diesem Fall möchte ich das http oder www loswerden.

Solutions Collecting From Web of "echo post-permalink ohne http und www"

Verwenden Sie get_permalink anstelle von the_permalink und manipulieren Sie es, wie Sie the_permalink über PHP.

Wie @milo vorgeschlagen, können Sie die Rückkehr von get_permalink() manipulieren. Dies kann einfach über mehrere PHP- String-functionen geschehen, hier wird str_replace() . Wenn Sie sowohl http:// als auch https:// entfernen müssen, geben Sie str_replace() ein Array von Nadeln.

 $permalink = get_permalink(); $find = array( 'http://', 'https://' ); $replace = ''; $output = str_replace( $find, $replace, $permalink ); echo '

' . $output . '

';

Das oben genannte kümmert sich nicht um den www(.) Teil, aber das Prinzip sollte klar sein.

Eine weitere Möglichkeit zur Manipulation sind php PCRE (Perl Compatible Regular Expressions) functionen , hier verwendet preg_replace() .

 $permalink = get_permalink(); $find_h = '#^http(s)?://#'; $find_w = '/^www\./'; $replace = ''; $output = preg_replace( $find_h, $replace, $permalink ); $output = preg_replace( $find_w, $replace, $output ); echo '

' . $output . '

';
 < ?php $find = 'http://'; $replace = ''; $output = str_replace($find,$replace,get_permalink()); $find = 'https://'; $output = str_replace($find,$replace,get_permalink()); echo '

' . $output . ''; ?>