Есть несколько текстовых переменных.
$str1 = "Газпром подает газ для Европы через Украину в объеме 29,3 млн куб. м через Суджу";
$str2 = "ВкусВилл не будет проводить IPO в 2023 году";
$str3 = "Ford vs. GM: A tale of two automakers";
Мне нужно эти строки переформатировать в нижний регистр и сравнивать с массивом слов. Делаю так с каждой строкой:
$tags = [["газпром","oil","russia","Газпром"],
["япония","all","japan","all"], ["вкусвилл","potreb","russia","ВкусВилл"], ["ford","auto","usa","Ford"], ["tech ","tech","all","all"]];
for($t = 0; $t < count($tags); $t++) {
$pos = strpos(mb_strtolower($str1), $tags[$t][0]);
if($pos !== false) {
// выполнить условие
}
}
В итоге, все строки в нижний регистр переводятся, но условие срабатывает лишь на латинице с переменной $str3.
$str2 и $str1 возвращают почему-то false и условие не выполняется в итоге, хотя в массиве $tags нужные слова есть.
Я предполагаю, что из-за кодировки или языка проблемы. 2-ой параметр кодировки в функцию mb_strtolower добавлял со значением UTF-8 - но результат не изменился.