someone here in SO told me that the hash (#) in the url could be retrieved by php function parse_url? is this true?
my web site got a lot of ajax effects and i want
The hash in the URL doesn't even get to the server. There is no way you can access it from any programming language on the server side.
Example from php manual:
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>
parse_url()
can get the hash from a url string. Note the signature:
mixed parse_url ( string $url [, int $component = -1 ] )
You must already know the string. For instance, from the docs:
<?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".
Once you get #value using javascript, send it back to server using ajax or .... url : http://example.in/?paramvalue=PKDVS4G#access_token=463d3d40-bdbb-04f3-ddb2-c35e2bd9ffa8
<script>
alert(window.location.hash);
var myhashvalue = window.location.hash;
//hash value like : #access_token=463d3d40-bdbb-04f3-ddb2-c35e2bd9ffa8
//ajax call to send myhashvalue to server
</script>
someone here in SO told me that the hash (#) in the url could be retrieved by php function parse_url? is this true?
Yes:
parse_url('http://stackoverflow.com/questions/1957030/retrieve-the-hash-in-the-url-with-php/1957040#1957040', PHP_URL_FRAGMENT); // 1957040
But you can't determine the hash on the server side without knowing the full URL à priori, not sure if the HTTP_REFERER holds this hash (think not).