if (!preg_match("https://www.youtube.com/channel/~i", $l1)) {
$l1 = $l1 . "?sub_confirmation=1";
}
我的查詢是,如果一個鏈接不包含sub_confirmation = 1,它會被添加。但是,如果一個鏈接已經包含它,它不應該被添加!怎麼做 ?
if (!preg_match("https://www.youtube.com/channel/~i", $l1)) {
$l1 = $l1 . "?sub_confirmation=1";
}
我的查詢是,如果一個鏈接不包含sub_confirmation = 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;
它的工作原理,這裏的問題是,不僅有這樣的鏈接,但他們仍然都被添加?sub_confirmation = 1 – Leeroy
你能告訴我一個這種類型的鏈接的例子@Leeroy – shubham715
https://www.youtube。 com/watch?v =示例 – Leeroy
$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
}
試試這個:
if(! preg_match('#sub_confirmation=1#is', $l1))
{
$l1 = $l1 . "?sub_confirmation=1";
}
即使如此,我推薦你玩parse_url。
你的正則表達式不完整,你需要在前面加一個'〜'。 –