2017-10-15 43 views
-4

我一直在試圖創建一個函數,它接受url字符串並將一個子域字符串添加到url字符串中。對不起,如果這對你來說太簡單了,我想從主站點登錄後重定向到用戶子域,這就是爲什麼我要尋找一種方法來「注入」子域。PHP將子域添加到url字符串

例如

function inject_subdomain($url,$subdomain) 

} 

$url = 'hxxps://abc.com/'; 
inject_subdomain($url,'ninja'); 
//returns 'hxxps://ninja.abc.com/' 

$url = 'hxxps://www.abc.com/'; 
inject_subdomain($url,'ninja'); 
//returns 'hxxps://ninja.abc.com/' 

$url = 'hxxp://www.abc.co.uk/'; 
inject_subdomain($url,'ninja'); 
//returns 'hxxp://ninja.abc.co.uk/' 
+0

問題是什麼? –

+0

你確實需要嘗試一些東西。 SO不是免費的代碼服務。 –

+0

@MagnusEriksson對此感到抱歉,這是新服務。我將在下次發佈我的嘗試。不是我想要的。我只知道解決方案非常簡單,我只需要指出正確的方向。 –

回答

-1

試試這個:

function inject_subdomain($url,$subdomain) 
    $url_parts = explode('://www',$url); 
    $url_parts2 = explode('://',$url); 
    if(count($url_parts)){ 
    return $url_parts[0].$subdomain.$url_parts[1]; 
    } 
    return $url_parts2[0].$subdomain.$url_parts2[1]; 

} 
+0

你錯過了大括號的功能,'if'語句將_always_返回true(因爲explode將總是返回至少一個數組項)。 –

+0

@Abdus \t 謝謝。我已經解決了它,這要感謝我從代碼中獲得的想法。我編輯了你的解決方案。 –

1

感謝阿卜杜勒·薩塔爾的答案......它向我指出了正確的方向......下面就是我一直在尋找...

function inject_subdomain($url,$subdomain){ 

    strstr($url,'www') ? 
     $url_parts = explode('://www',$url): 
     $url_parts = explode('://',$url); 

    return $url_parts[0].'://'.$subdomain.'.'.$url_parts[1]; 

} 
解決方案