afișează permalink-ul postării fără http și www
Am această linie …
<div class="permalink"><?php the_permalink(); ?></div>
iar rezultatul pe pagina mea arată astfel …
http://mysite.com/whatever/post-or-so
Cred că ar putea arăta și așa …
http://www.mysite.com/whatever/post-or-so
Totuși, aș dori să am doar mysite.com/whatever/post-or-so
fără http://
sau www
în față.
Care este cea mai bună și mai ușoară metodă pentru a face acest lucru?
Nu mă înțelege greșit, nu are legătură cu rescrierea permalink-urilor sau altceva de genul. Doar un simplu echo al the_permalink()
pe pagina mea care nu este tratat ca link ci ca text normal. Și în acest caz aș dori să scap de http sau www.

După cum a sugerat @milo, poți manipula rezultatul returnat de get_permalink()
. Acest lucru se poate face ușor folosind mai multe funcții PHP pentru șiruri de caractere, aici este folosită str_replace()
. Dacă trebuie să elimini atât http://
cât și https://
, poți furniza un array cu aceste valori către str_replace()
.
$permalink = get_permalink(); // Obține URL-ul permanent al postării
$find = array( 'http://', 'https://' ); // Șirurile de caractere care trebuie înlocuite
$replace = ''; // Cu ce înlocuim șirurile găsite
$output = str_replace( $find, $replace, $permalink ); // Efectuează înlocuirea
echo '<p>' . $output . '</p>'; // Afișează rezultatul
Exemplul de mai sus nu gestionează partea cu www(.)
, dar principiul ar trebui să fie clar.
O altă posibilitate de manipulare sunt funcțiile PCRE (Expresii Regulate Compatibile cu Perl) din PHP, aici este folosită preg_replace()
.
$permalink = get_permalink(); // Obține URL-ul permanent al postării
$find_h = '#^http(s)?://#'; // Regex pentru a găsi http:// sau https://
$find_w = '/^www\./'; // Regex pentru a găsi www.
$replace = ''; // Cu ce înlocuim șirurile găsite
$output = preg_replace( $find_h, $replace, $permalink ); // Înlocuiește http(s)://
$output = preg_replace( $find_w, $replace, $output ); // Înlocuiește www.
echo '<p>' . $output . '</p>'; // Afișează rezultatul

folosește get_permalink
în loc de the_permalink
și manipulează-l după cum dorești prin php.
