2013-11-20 83 views
0

我在寫一個「管道」來重命名和刪除iCal提要的某些部分。我希望腳本採用不同的Feed URL作爲輸入。如何從PHP中的參數值中檢索URL字符串

它的源參數值包含參數分離器和參數是這樣的:

?source=https://web.timeedit.se/hig_no/db1/timeedit/p/open/r.ics?sid=3&p=20130819.x%2C20131130.x&objects=160812.183&ox=0&types=0&fe=0&pp=f 

這裏是我的代碼的摘錄:

<?php $params = $_GET; 
$content = file_get_contents($params['source']); 
// ... 

但因爲$ _GET的的print_r這是不行的看起來像這樣:

Array 
(
    [source] => http://www.example.com/?source=https://web.timeedit.se/hig_no/db1/timeedit/p/open/r.ics?sid=3 
    [p] => 20130819.x,20131130.x 
    [objects] => 160812.183 
    [ox] => 0 
    [types] => 0 
    [fe] => 0 
    [pp] => f 
) 

我怎樣才能得到完整的URL,而不僅僅是[so urce]的價值?或者,有沒有更好的方法來檢索URL?最好能將URL粘貼到參數中。

回答

0

使用$ _ SERVER。

function saveUrl() { 

     $pageURL = $_SERVER["REQUEST_URI"]; 

     $URL=urlencode($pageURL); 

     return $URL; 
    } 
     $URL_ENC=saveUrl(); 
+0

我在您的答案中添加了substr的用法。我希望你沒事。如果它不起作用,會讓你知道。謝謝。 –

+0

隨意編輯它...這個答案意味着作爲一個方向的方向而不是複製粘貼解決方案。儘管它非常簡單。很高興它是有用的。乾杯。 – FRECIA

+0

似乎我的編輯被拒絕了。下面是我添加的URL字符串本身: 'substr($ URL,strpos($ line,'https://'));' –

0

你必須用urlencode源例如

source=https%3A%2F%2Fweb.timeedit.se%2Fhig_no%2Fdb1%2Ftimeedit%2Fp%2Fopen%2Fr.ics%3Fsid%3D3%26p%3D20130819.x%2C20131130.x%26objects%3D160812.183%26ox%3D0%26types%3D0%26fe%3D0%26pp%3Df%0A 

現在你會得到完整的URL編碼格式。

然後像下面一樣使用它。

$url = urldecode($_GET['source']); 

這會對您的完整URL

相關問題