What are fragment URLs and why to use them?

62.6k views Asked by At

I am new to PHP Development.

Today I came across the interesting topic of URL fragments, specifically the # part of URLs.

I searched and found that it's like

www.example.com/foo.html#bar

But I don't understand why this #bar is needed. Or how to read it in PHP?

3

There are 3 answers

0
PockeTiger On BEST ANSWER

A fragment is an internal page reference, sometimes called a named anchor. It usually appears at the end of a URL and begins with a hash (#) character followed by an identifier. It refers to a section within a web page.

In HTML documents, the browser looks for an anchor tag with a name attribute matching the fragment.

There are a few things about the fragments, the most important may be that they aren't sent in HTTP request messages but you can find some more info about them on this page.

Javascript can manipulate fragments on the current page which can be used to to add history entries for a page without forcing a complete reload.

0
Sergey B. On

It's unable to read it by php. It uses by client side (browser) for hash navigation, but you can write JS code to handle hash change and send async request to your server side (php) and display result on your page.

2
Ebrahim Moeini On

For reading a fragment by the PHP you can use 'parse_url( $url, PHP_URL_FRAGMENT )' function. This function in a built-in PHP function. follow example can help you to understand how to use it:

$url = 'www.example.com/foo.html#bar';
echo '<pre>';
var_dump(parse_url($url, PHP_URL_FRAGMENT));
echo '</pre>';

the result is:

string(3) "bar"

for more information about parse_url you can read this page