WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

strip_fragment_from_url() WP 4.4.0

Удаляет фрагмент (якорь, хэш, #fragment) из URL. URL должен быть передан с протоколом.

Ищем WP-разработчика! Фулл-тайм, удаленка, хорошая зарплата, соц. пакет. Подробности.
Компания Boosta.

Когда, нужно просто удалить фрагмент #fragment из строки (URL) без проверки есть протокол или нет, можно использовать один из таких кодов. К тому же, они раз в 5 быстрее

$link = 'page/sub-page#fragment';

// скорость на 50000 повторений
echo strip_fragment_from_url($link);         // 0.060 sec
echo  preg_replace('~#.*~', '', $link);      // 0.014 sec
echo  str_replace('#fragment', '', $link );  // 0.010 sec
echo  substr($link, 0, strpos($link, '#') ); // 0.007 sec

// каждая строка выведет на экран:
// page/sub-page
1 раз — 0.000035 сек (очень быстро) | 50000 раз — 0.20 сек (очень быстро)

Хуков нет.

Возвращает

Строку. URL без хэша.

Использование

strip_fragment_from_url( $url );
$url(строка) (обязательный)
URL, фрагмент из которого нужно удалить.

Примеры

#1 Удалим хэш (фрагмент, якорь) из URL.

echo strip_fragment_from_url ( 'http://wp-kama.ru/foo#fooooo' );
// вернет: http://wp-kama.ru/foo

echo strip_fragment_from_url ( 'http://wp-kama.ru/foo?foo=bar#fooooo' );
// вернет: http://wp-kama.ru/foo?foo=bar

echo strip_fragment_from_url ( '/foo#fooooo' );
// не обработает и вернет как было: /foo#fooooo

Список изменений

С версии 4.4.0 Введена.

Код strip_fragment_from_url() WP 5.8.2

function strip_fragment_from_url( $url ) {
	$parsed_url = parse_url( $url );

	if ( ! empty( $parsed_url['host'] ) ) {
		// This mirrors code in redirect_canonical(). It does not handle every case.
		$url = $parsed_url['scheme'] . '://' . $parsed_url['host'];
		if ( ! empty( $parsed_url['port'] ) ) {
			$url .= ':' . $parsed_url['port'];
		}

		if ( ! empty( $parsed_url['path'] ) ) {
			$url .= $parsed_url['path'];
		}

		if ( ! empty( $parsed_url['query'] ) ) {
			$url .= '?' . $parsed_url['query'];
		}
	}

	return $url;
}

URL (УРЛ Ссылка)

Форматирование

2 коммента
    Войти