Есть несколько логических проблем:
Первая проблема заключается в том, что вы пытаетесь увидеть, состоит ли строка из нескольких слов в массиве отдельных слов.Это всегда не сможет найти совпадение.Вам нужно было бы разбить $title
на взорвать и перебрать слова.
т.е.) $title_words = explode(' ', strtolower($title));
foreach($title_words as $word){
//check language
//now you can use in_array and expect some matches
}
Однако это представляет собой вторую проблему.Что если слово на нескольких языках?
Третья проблема в вашем примере: вы преобразовали строку поиска в нижний регистр, но в вашем массиве совпадений есть все слова с заглавной первой буквой.т.е.)
$english = Array( 'Name', 'Vacation' );
должно быть
$english = array( 'name', 'vacation' );
, если вы ожидаете совпадения