preg_match:检查它是否包含单词

时间:2017-07-27 10:40:42

标签: php preg-match

代码:

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

我的查询是,如果链接不包含?sub_confirmation = 1,则会添加它。但如果链接已包含它,则不应添加!怎么做?

3 个答案:

答案 0 :(得分:1)

您可以使用 strpos()

示例 -

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

修改

如果您只想要特定的网址(在您的情况下只适用于YouTube频道网址),那么请添加一个,如果条件如下所示。

试试这个

 $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;

答案 1 :(得分: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
}

答案 2 :(得分:0)

试试这个:

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

即便如此,我建议你玩parse_url