2015-01-09 4 views
1

Я используюКак получить идентификатор фрагмента из URL-адреса в PHP?

location.hash = $(this).attr("id"); 

добавлять идентификатор в адресную строку сразу без перезагрузки. исход: http://example.net/index.php/abc#id

я эхо

$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 

значение выходной я получил: http://example.net/index.php/abc

Как я могу получить #ID (известный как фрагмент идентификатора) в PHP, так что это может быть используется как переменная PHP?

Спасибо!

ответ

1

Веб-сервер не получает хеш-фрагмент, это только клиентская сторона. Таким образом, вы не можете получить его с помощью PHP или любого другого языка на стороне сервера. Вы можете взломать, извлекая этот хэш через javascript и отправляя его с помощью параметра GET на сценарий на стороне сервера, но я не рекомендую это.

1

Вы не можете напрямую отправить фрагментную часть с клиента на сервер PHP. Но идентификатор фрагмента можно получить через javascript, и вы можете отправить его на сервер в качестве параметра GET. Используйте window.location, чтобы получить полный URL-адрес, включая фрагмент, и window.location.hash, чтобы получить только часть фрагмента в javascript. Если вы отправляете полный URL-адрес (включая хэш-код фрагмента) на сервер PHP, вы можете использовать функцию parse_url("URL HERE",PHP_URL_FRAGMENT) для получения хеш-фрагмента.

Смежные вопросы