簡體   English   中英

帶cURL的PHP​​編碼URL

[英]PHP encoding URL with cURL

我正在嘗試使用cURL訪問URL數組。 一些鏈接如下所示:

 http://somelink.com/directory/file name.php
 http://somelink.com/file name.php
 http://somelink.com/(some file).txt
 http://somelink.com/directory/random chars &^%.txt
 http://somelink.com/!@#$%^&*.txt

只是一些帶有一些隨機字符的文件。 我知道有urlencode()函數,但是此函數還在每個目錄后對URL http://和/進行URL編碼,這將不允許頁面在cURL中正確加載。 是否有一些正則表達式可用於分隔每個/之后的單詞並分別對其進行編碼,但忽略根目錄/之前的所有內容的編碼?

您可以編寫一個函數以采用您擁有的格式(數組)輸入並以所需的格式輸出它,如下所示:

function urlencode_array($url_array)
{
    $encoded = array();

    foreach ($url_array as $url) {
        $encoded[] = "http://" . str_replace("%2F", "/", rawurlencode(substr($url, 7)));
    }

    return $encoded;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM