後得到的URL我的URL看起來是這樣的:如何哈希
zigzagstudio/#!/page_wedding2
,我需要把#後的URL的一部分。事實上,我需要達到page_wedding2以便將數字廣告與我的數據庫進行比較。這可能使用PHP?有沒有人有一個代碼的例子?我也搜索了一個解決方案使用JavaScript,但我不知道如何發送到PHP使用JavaScript。
後得到的URL我的URL看起來是這樣的:如何哈希
zigzagstudio/#!/page_wedding2
,我需要把#後的URL的一部分。事實上,我需要達到page_wedding2以便將數字廣告與我的數據庫進行比較。這可能使用PHP?有沒有人有一個代碼的例子?我也搜索了一個解決方案使用JavaScript,但我不知道如何發送到PHP使用JavaScript。
$url = "zigzagstudio/#!/page_wedding2";
$pattern = "([\#\!\/]+(.*))";
preg_match($pattern, $url, $string);
$name = $string[1];
echo $name; // prints 'page_wedding2'
但我怎麼得到的網址與哈希?因爲到目前爲止我的鏈接看起來像這樣:127.0.0.1/zigzagstudio/#!/page_wedding2 – 2012-07-18 10:15:25
你的意思是用'#!'?用'$ name = $ string [0]' – 2012-07-18 10:20:54
替換'$ name = $ string [1]',所以你在說我應該這樣寫:$ url ='127.0.0.1/zigzagstudio /#!/ page_wedding2' ?\ – 2012-07-18 10:30:46
$url = 'zigzagstudio/#!/page_wedding2';
echo parse_url($url, PHP_URL_FRAGMENT);
請參閱parse_url()文檔。
但我可以得到使用PHP的網址? – 2012-07-18 10:11:18
您可以使用PHP中的explode和Javascript中的split。
PHP:
$str = 'zigzagstudio/#!/page_wedding2';
$array = explode('#', $str);
echo array_pop($array);
的Javascript:
var str = 'zigzagstudio/#!/page_wedding2';
var str_array = str.split('#');
alert(str_array.pop());
但我如何獲得散列的URL?因爲我的鏈接到目前爲止看起來像這樣:http://127.0.0.1/zigzagstudio/#!/page_wedding2 – 2012-07-18 10:13:37
'$ _SERVER [「REQUEST_URI」];' – Dev 2012-07-18 11:26:13
你需要在JavaScript中讀它,然後把它傳遞給你的PHP。
讀它在Javascript中這樣的:
var query = location.href.split('#');
var anchorPart = query[0];
一旦你有anchorPart
並分析從它的相關信息,將它傳遞給你的PHP - 有可能是這樣做的,這取決於你的Web應用程序的不同方式。
您可以製作一個AJAX request to page_wedding2.php並將查詢字符串中的任何已分析信息傳遞給它。在您自己的網頁中使用返回的HTML字符串。
編輯:澄清,the browser doesn't pass the anchor part of the URL to the server side。
不需要使用JS,可以通過許多不同的方式在PHP中使用。 – 2012-07-18 10:05:15
請解釋 - 你[無法讀取錨部分](PHP的PHP)中的URL(http://stackoverflow.com/questions/940905/can-php-read-the-hash-portion-of-the-url) ,OP意味着它需要從客戶端發送到PHP頁面。 – 2012-07-18 10:10:22
http://stackoverflow.com/questions/4197591/parsing-url-hash-fragment-identifier-with-javascript – DaveRandom 2012-07-18 10:02:23