It was just a little curiosity I noticed, since there's nothing done with the URI fragment. Why do we care how many `#`es there are, or even capture it. Would `strstr` be more appropriate? I dunno.
```php
<?php

$url = 'http://example.com/index.php#test#test#test';
echo '<pre>';
var_dump(explode('#', $url));
var_dump(explode('#', $url, 2));
var_dump(explode('#', $url, 3));
var_dump(strstr($url, '#', true));
```
```
array(4) {
  [0]=>
  string(28) "http://example.com/index.php"
  [1]=>
  string(4) "test"
  [2]=>
  string(4) "test"
  [3]=>
  string(4) "test"
}
array(2) {
  [0]=>
  string(28) "http://example.com/index.php"
  [1]=>
  string(14) "test#test#test"
}
array(3) {
  [0]=>
  string(28) "http://example.com/index.php"
  [1]=>
  string(4) "test"
  [2]=>
  string(9) "test#test"
}
string(28) "http://example.com/index.php"
```