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。
你的正则表达式不完整,你需要在前面加一个'〜'。 –