2017-07-27 32 views
0

代碼:的preg_match:檢查,如果它不包括一個文字

if (!preg_match("https://www.youtube.com/channel/~i", $l1)) { 
    $l1 = $l1 . "?sub_confirmation=1"; 
    } 

我的查詢是,如果一個鏈接不包含sub_confirmation = 1,它會被添加。但是,如果一個鏈接已經包含它,它不應該被添加!怎麼做 ?

+1

你的正則表達式不完整,你需要在前面加一個'〜'。 –

回答

1

您可以使用strpos()

示例 -

$link = "https://www.youtube.com/channel/~i"; 
    $search = '?sub_confirmation=1'; 
    if (strpos($link, $search) === false) { 
    $link = $link.$search; 
    } 
    echo $link; 

編輯

如果只想爲特定的URL(你的情況

只爲youtube頻道網址),然後再添加一個,如果條件如e下面的示例。

試試這個

$link = "youtube.com/watch?v=example"; 
    $search = '?sub_confirmation=1'; 
    $searchUrl = "youtube.com/channel"; 
    if (strpos($link, $searchUrl) !== false && strpos($link, $search) === false) { 
    $link = $link."".$search; 
} 
echo $link; 
+0

它的工作原理,這裏的問題是,不僅有這樣的鏈接,但他們仍然都被添加?sub_confirmation = 1 – Leeroy

+0

你能告訴我一個這種類型的鏈接的例子@Leeroy – shubham715

+0

https://www.youtube。 com/watch?v =示例 – Leeroy

0
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; 


if (strpos($url,'YourWord') !== false) { 
    echo 'Word exists.'; 
    //your code for not adding the link 
} else { 
    echo 'Word doesn't exist.'; 
    //your code for adding the link 
} 
0

試試這個:

if(! preg_match('#sub_confirmation=1#is', $l1)) 
{ 
    $l1 = $l1 . "?sub_confirmation=1"; 
} 

即使如此,我推薦你玩parse_url

相關問題