Вывод permalink без http и www

4 сент. 2012 г., 17:44:29
Просмотры: 14.5K
Голосов: 1

У меня есть такая строка …

<div class="permalink"><?php the_permalink(); ?></div>

и результат на странице выглядит так …

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

Возможно также отображение в таком виде …

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

Однако я хотел бы получить просто mysite.com/whatever/post-or-so без http:// или www в начале.

Не поймите меня неправильно, это не имеет отношения к перезаписи постоянных ссылок или чему-то подобному. Просто обычный вывод the_permalink() на моей странице, который обрабатывается не как ссылка, а как обычный текст. И в этом случае я хочу избавиться от http или www.

0
Все ответы на вопрос 3
0

Как предложил @milo, вы можете манипулировать возвращаемым значением функции get_permalink(). Это можно легко сделать с помощью нескольких функций для работы со строками в PHP, здесь используется str_replace(). Если вам нужно удалить одновременно http:// и https://, передайте массив искомых значений в str_replace().

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

Приведённый выше код не обрабатывает часть www(.), но принцип должен быть понятен.

Другой вариант манипуляции — использование функций PCRE (Perl Compatible Regular Expressions) в PHP, здесь используется 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 '<p>' . $output . '</p>';
26 дек. 2013 г. 19:56:34
0

используйте get_permalink вместо the_permalink и обрабатывайте ссылку как вам угодно с помощью PHP.

4 сент. 2012 г. 17:52:20
1

Есть простой метод.

$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] вернет абсолютный URL без http(s) в начале.

23 дек. 2020 г. 11:56:36
Комментарии

Только для текущей страницы. Это не будет работать для отображения ссылок на другие страницы в цикле, как это делает get_permalink.

Rup Rup
24 дек. 2020 г. 15:45:16