2011-03-11 26 views
1

我試圖解析一個'哈希標籤'(#)從PHP到ascii作爲一部分的網址。 我試過以各種可能的方式轉義字符,並嘗試使用ascii /&符號代碼,但無論我嘗試,它沒有輸出實際的'#'在URL中。php> html - parse#

例子:

print l('node/'.$node->nid.'/edit/2\#extra'); 

結束,如:

http://local/node/212/edit/%5C%2523extra 

相反的:

http://local/node/212/edit/2#extra 

我試着搜索使用關鍵字,如 '解析',「回聲網','打印'和'逃生'符號在PHP中,但無濟於事。我敢肯定,你的編碼神能回答這個簡單的問題;)

回答

1

我猜你正在尋找urlencode()功能

echo "http://local/node/212/edit/".urlencode("\#extra"); 
// Will output: http://local/node/212/edit/%5C%23extra 
0

這是什麼l功能,你使用?它看起來像將非字母數字轉換爲HTTP實體,以使其成爲有效的URL。

只要寫print "node/{$node->nid}/edit/2#extra";

如果你真的需要使用l,和你想追加一個頁面的錨,然後做:

print l('node/'.$node->nid.'/edit/2') . '#' . l('extra');