2013-09-23 7 views
-3

Привет, У меня есть список ключевых слов, которые мне нужны для поиска по URL-адресу, чтобы узнать, нет ли совпадения.PHP поиск соответствия ключевого слова в url

$keyword ='keyword1|keyword2|keyword3'; 

$url может быть

$url = "www.keyword1castle.com"; 

если есть совпадение только эхо что-то

Как я мог это сделать?

+3

https://www.google.com/#q=php+match+words+in+string – Stijn

ответ

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()

Demo!

0

Вы можете использовать strpos: PHP.net

if (false !== strpos($url, 'keyword1')) { 
    echo "keyword1 found"; 
} 
+1

'strpos' никогда не возвращает' -1'; он имеет положительное целое число или 'false' +, вам не хватает скобки. – DanFromGermany

+0

@DanFromGermany: спасибо, я написал слишком быстро, и я не читал: s. Я исправлю это. – Elorfin

0

Попробуйте

$keyword ='keyword1'; 
$url = "www.keyword1castle.com"; 
if (strpos($url,$keyword) !== false) { 
    echo 'true'; 
} 
Смежные вопросы