2012-05-21 3 views

ответ

1

Если вы хотите, чтобы разобрать URL в виде строки:

$str = 'http://localhost:8888/App.php#?ID=1S'; 
$temp = explode("?", $str); 
$result = explode("=", $temp['1']); 
echo $result['1']; 

Если вы хотите, чтобы получить его на стороне сервера:

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


Использование JavaScript/JQuery:(теги не добавляются, хотя)

<script> 

    var vars = [], hash; 
    var hashes = window.location.href.slice(window.location.href.indexOf('#') + 1).split('&'); 
    hash = hashes[0].split('='); 
    alert(hash['1']); 

    // you can use jQuery.ajax() here to send this value to server side. 

</script> 
0
echo parse_url('http://localhost:8888/App.php#?ID=1S', PHP_URL_FRAGMENT); 

ИЛИ

echo parse_url($_SERVER['QUERY_STRING'], PHP_URL_FRAGMENT); 

Если вам нужно разобрать его дальше:

$x = parse_url($_SERVER['QUERY_STRING'], PHP_URL_FRAGMENT); 

parse_str($x, $arr); 

echo $arr['ID'] 
0
$url = "http://localhost:8888/App.php#?ID=1S&another=3"; 
$a = parse_url($url); 
parse_str($a["fragment"],$arr); 
print_r($arr); 

выходы:

Array (
    [?ID] => 1S 
    [another] => 3 
); 

если вы можете жить доступ к первому параметру с «? ID»

0

Я думаю, что единственный способ сделать это с помощью запроса AJAX, здесь приведен упрощенный пример:

индексной страница

<!doctype html> 
<html> 
<head> 
    <title>Website</title> 
    <script type="text/javascript"> 
     var url = document.location; 
     url = url.toString(); 
     var getVal = url.split("#"); 
     var xmlhttp = new XMLHttpRequest(); 
     xmlhttp.open('GET', 'App.php'+getVal[1], true); 
     xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
       alert(xmlhttp.responseText); 
      } 
     } 
     xmlhttp.send(); 
    </script> 
</head> 
<body> 

</body> 
</html> 

страница приложения - страница

<?php 
    if (isset($_GET['url'])) echo 'url : ' . $_GET['url']; 
?>