2011-09-19 61 views
1

可能重複:
Check if the url is contains the http or https檢查是否網址包含http://或https://

什麼是找出給定的URL是否包含http://https://的代碼開始使用PHP和正則表達式?

+0

['strpos'文檔】(http://gr.php.net/manual/en/function .strpos.php),第一個例子。 – Jon

+3

我很好奇,你完全沒有費力去決定自己如何做到這一點 - 閱讀http://php.net - 但仍然確定了你需要正則表達式的莫名其妙的結論。 –

+1

是托馬拉克先生 - 如果我知道正則表達式,我會自己解決它,真的不需要這種評論 - 我試圖找到答案,而不是像這樣讀無意義的評論。 – user398341

回答

10

可以使用parse_url

<?php 
$url = parse_url('https://example.org'); 

if($url['scheme'] == 'https'){ 
    // is https; 
} 
?> 
-1

也許這可以幫助

$_SERVER['SERVER_PROTOCOL']; 
+0

這將返回「HTTP/1.1」,與https無關。 – Laurent

+0

他問如何從url獲得協議,這可能不一定是當前頁面,它可能是一個通用字符串,在這種情況下,數組$ _SERVER將完全無用(更不用說'SERVER_PROTOCOL'鍵是錯誤的因爲它不知道連接是否爲SSL)。如果要解析的字符串也是頁面url,那麼您可以使用返回'http'或'https'或$ _SERVER [「HTTPS」]的$ _SERVER [「REQUEST_SCHEME」],如果方案爲https,則返回1。 – Frank

9
if (substr($string, 0, 7) == "http://") 
    $res = "http"; 

if (substr($string, 0, 8) == "https://") 
    $res = "https"; 
相關問題