Без ТЗ - результат ХЗ :)
А он поднимает первую букву в начале строки(пробела, точки и даже тире), остальные буквы опускает. Так же он многобайтовый т.е. работает с кодировкой UTF-8 без костылей.
1. Вполне, чтобы деликатно юзать ваш сайт в своих целях и вы не догадались об этом.
2. Обновляем джумлу до последней версии и модуля. Также проходимся айболитом, чтобы поискал всякие шеллы.
Это гугл нынче очень тормозной. Он походу решил продать половину серверов своих, с таким подходом, мол 90% интернета шлак и каждый день его переиндексировать не имеет никакого экономического эффекта в кошель гугла.
У меня дропы уже 2-й месяц не индексируются, висят старые страницы, хотя гугл заходил немного и даже ссылки не помогают.
Поэтому только ждать, что будет в итоге.
Это он уже пусть решает :)
Если это нужно одноразово, то там можно обойтись и str_replace, думаю мало там таких значений, которые должны быть все с большой буквы.---------- Добавлено 12.04.2019 в 18:23 ----------
Ну переделаем на:
$arr = array('москва','санкт-петербург','снт','москва','Санкт-Петербург','липецк','лиПецк','снт','Иваново','СНТ','Москва','москва','сНт','МосКва','СНТ','Липецк','санкт-петерБург','УльянОвск','уфА');$arr=array_unique(array_map("strtolower_utf8",$arr));function strtolower_utf8($str){$minicity=array('снт','снто'); // Исключенияif (in_array(mb_convert_case($str, MB_CASE_LOWER, "UTF-8"),$minicity)) {$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");} else {$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");}return $str;}print_r($arr);
Последняя редакция :)
Если никто не против я свой вариант выложу:
$arr = array('москва','санкт-петербург','снт','москва','Санкт-Петербург','липецк','лиПецк','снт','Иваново','СНТ','Москва','москва','сНт','МосКва','СНТ','Липецк','санкт-петерБург'); $arr=array_unique(array_map("strtolower_utf8",$arr)); function strtolower_utf8($str){ if (mb_strlen($str,'UTF-8')<=3) { $str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8"); } else { $str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8"); } return $str; } print_r($arr);
Samail, сильно. Функцию array_intersect_key вообще ни разу не пользовал, интересная вещица.---------- Добавлено 12.04.2019 в 17:57 ----------Вот только в этом будет косяк:
При таком массиве:
$arr = array('москва','санкт-петербург','снт','москва','Санкт-Петербург','липецк','лиПецк','снт','Иваново','СНТ','Москва','москва','сНт','МосКва','СНТ','Липецк');
Будет
Array ( [8] => Иваново [15] => Липецк [13] => МосКва [9] => СНТ [4] => Санкт-Петербург )
1. Всё закинуть в нижний регистр
2. Очистить от дубликатов
3. Поднять первую букву
Может не учли скидки или акции?
https://yandex.ru/support/webmaster/search-results/favicon.html