2012-03-29 60 views
1

我有一個URL,它看起來像PHP編碼完整網址與空間的參數

http://example.com/index.php?id=111&title=word1 word2 word3 

我需要請求,捲曲網址前編碼的空間。

但是如何urlencode url的正確部分。

urlencoderawurlencode編碼https問號等

+0

使用parse_url打破URL成其組成部分,然後根據需要在查詢字符串操作。使用http_build_url拼接在一起。 – cmbuckley 2012-03-29 09:19:01

回答

5

您可以使用parse_url()將URL拆分爲相應的部分。在parse_url返回的數組中的query元素上使用urlencode(),然後使用http_build_url將其重新組合在一起。

注:http_build_url要求PECL pecl_http> = 0.21.0

+0

進一步使用parse_str和http_build_query也值得一提。 – cmbuckley 2012-03-29 09:23:58

+0

該查詢已經部分編碼,不會再編碼,導致現有的&s和= s被錯誤地替換? – Beeblbrox 2012-03-29 09:30:32

+0

parse_url將以字符串'id = 111&title = word1 word2 word3'的形式返回查詢參數如果我urlencode那個字符串,我遇到了同樣的問題。 '&'和'='將被編碼。 – applechief 2012-03-29 09:35:53

0

的斜線替換空格用「+」。