-3

嗨,我有一个关键字列表,我需要在 url 上搜索以查看是否有任何匹配项。

$keyword ='keyword1|keyword2|keyword3';

$url可能

$url = "www.keyword1castle.com";

如果有匹配,就回显一些东西

我怎么能这样做?

4

4 回答 4

2

http://php.net/stripos

$found = false;
foreach (explode('|', $keyword) AS $val) {
    $found = stripos($url, $val);
    if ($found !== false) {
       break;
    }
}

if ($found !== false) {
   echo "string found";
}
于 2013-09-23T13:16:03.707 回答
1

您可以执行以下操作:

  • |用作为分隔符来分解您的关键字字符串
  • 遍历数组
  • 检查 URL 是否包含使用的字符串strpos()(或者stripos()如果您想要不区分大小写的检查)
  • 如果是,则跳出循环
  • 如果没有,请重复该过程

代码:

$keyword ='keyword1|keyword2|keyword3';
$url = "www.keyword1castle.com";

$parts = explode('|', $keyword);

foreach ($parts as $part) {
    if(strpos($url, $part) !== FALSE) {
        echo "keyword found in URL\n";
        break;
    }
    else {
        echo "keyword not found\n";
    }
}

文档:explode(),strpos()

演示!

于 2013-09-23T13:16:15.710 回答
0

你可以使用strposPHP.net

if (false !== strpos($url, 'keyword1')) {
   echo "keyword1 found";
}
于 2013-09-23T13:16:15.117 回答
0

试试这个

$keyword ='keyword1';
$url = "www.keyword1castle.com";
if (strpos($url,$keyword) !== false) {
    echo 'true';
}
于 2013-09-23T13:18:29.360 回答