кто-то здесь в ТАК сказанном меня, что хеш (#) в URL мог быть получен функцией php parse_url? действительно ли это верно?
мой веб-сайт получил много ajax эффектов, и я хочу смочь передать URL с хешем к index.php, таким образом, он мог отобразить информацию на основе значений хэш-функции.
например, если пользователь нажимает и перешел в моем веб-сайте, и он нашел вещь, которую он хочет совместно использовать, затем он мог скопировать адрес и отправить его его другу и когда этот человек входит, он видит то же самое.
я попытался использовать JavaScript для сохранения значений хэш-функции в cookie, но это не работает с Firefox, и его слишком медленный в сафари (HTML покажет сначала, таким образом, нужно будет обновить страницу во второй раз для корректного содержания, которое покажут).
любое другое решение приветствуется
Править: Я очень смущен.. если я использую parse_url, я должен ввести URL сам в php для получения хеша? какой смысл затем... мой вопрос, если, может ли мой приятель ввести URL со значениями # и php, мог бы обработать его? это походит не, действительно ли я прав?
parse_url()
может получить хэш из url-строки. Обратите внимание на сигнатуру:
mixed parse_url ( string $url [, int $component = -1 ] )
Вы уже должны знать строку. Например, из документации:
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>
Outputs
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
/path
Note the entry under key "fragment".
.Хэш в URL даже не получает на сервер. Доступ к нему с серверной стороны невозможен с любого языка программирования
.кто-то здесь, в SO, сказал мне, что хэш (#) в урне может быть найден по php-функции parse_url? Это что? true?
Да:
parse_url('http://stackoverflow.com/questions/1957030/retrieve-the-hash-in-the-url-with-php/1957040#1957040', PHP_URL_FRAGMENT); // 1957040
Но вы не можете определить хэш на стороне сервера, не зная полного URL априори, не будучи уверенным, что HTTP_REFERER содержит этот хэш (не думайте).
.Пример из php manual:
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>