Strtolower не срабатывает
Есть задача взять файл «robots.txt» с указанного пользователем адреса, и найти в нём кол-во директив «Host». Файл «robots.txt» например:
User-agent: Yandex
Disallow: /
host: example.com
host: example2.com
Файл беру с удалённого сервера по запросу пользователя и кодировка с символами могут быть любые.
Чтобы не привязываться к регистру символов пытаюсь сделать так:
$url = 'http://tests.loc/robots.txt'; $maxsize = 32768; $ctx = stream_context_create(array('http' => array('timeout' => 10))); $directives = file_get_contents($url, false, $ctx, -1, $maxsize); setlocale(LC_ALL, "en_US.UTF-8"); echo strtolower($directives); //Возвращает ту же строку без изменения регистра символов echo substr_count($directives, 'host');
mb_strtolower() тоже не помогает, mb_internal_encoding() устанавливал
Подскажите что не так? Или может такую задачу можно решить иначе
Функции strupper(); strtolower();
Добрый вечер, не работают функции strtolower, strtoupper и ucfirst . Не форматируют текст никак.
Не работает strtolower с кирилицой
Не работает функция strtolower с кирилицой. Гуглинг проблемы подсказал установить setlocale, но не.
Не работает функция strtolower
Функция-то вроде простая, я явно что-то неправильно делаю, но где? <?php if (isset($_POST)).
Функция strtolower на платформе Юникс
Сервер на платформе Unix и оператор strtolower не преобразует русские символы к нужному регистру.
strtolower не работает с юникодом, для mb_strtolower необходимо правильно установить кодировку, например
Сообщение было отмечено pav1uxa как решение
Решение
svs171, Tombland, Во-первых, для латиницы не важна кодировка. Буквы латинского алфавита (как и цифры и многие другие стандартные символы) во всех кодировках кодируются одинаково.
$url = "https://www.cyberforum.ru/robots.txt"; $contents = file_get_contents($url); echo strtolower($contents);
user-agent: * disallow: /cron.php disallow: /editpost.php disallow: /google-search.php disallow: /login.php disallow: /misc.php disallow: /newreply.php disallow: /newthread.php disallow: /post_thanks.php disallow: /private.php disallow: /register.php disallow: /redirector.php disallow: /sendmessage.php disallow: /search.php disallow: /yandex-search.php sitemap: https://www.cyberforum.ru/sitemap_index.xml.gz user-agent: yandex host: www.cyberforum.ru user-agent: slurp crawl-delay: 5 user-agent: msnbot crawl-delay: 5
Не работает strtolower с кирилицой
Не работает функция strtolower с кирилицой.
Гуглинг проблемы подсказал установить setlocale, но не помогло.
$a = "Тестовый Текст"; echo $a."
"; $a = strtolower($a); echo $a;
Тестовый Текст Тестовый Текст
var_dump (setlocale(LC_ALL, "ru_RU.CP1251"));
var_dump (setlocale(LC_ALL, "rus"));
Что можно с этим сделать?
Костыли типа следующего использовать не хотелось бы:
$string = strtr( $string, 'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁ', 'йцукенгшщзхъфывапролджэячсмитьбюё' );
Не работает функция strtolower
Функция-то вроде простая, я явно что-то неправильно делаю, но где? <?php if (isset($_POST)).
Не работает функция strtolower и strupper с кирилицей. С английскими все нормально.
1. Отправляю функцией mail информацию для пользователся. На адреса @mail, @rambler, @list .
Почему функция strtolower не работает в кодировке utf-8 для русских символов
Помогите, пожалуйста. Почему функция strtolower не работает в кодировке utf-8 для русских.
Strtolower не срабатывает
Есть задача взять файл "robots.txt" с указанного пользователем адреса, и найти в нём кол-во.
Не работает функция strtolower
Функция-то вроде простая, я явно что-то неправильно делаю, но где?
1 2 3 4 5 6 7 8 9 10 11 12 13 14
if (isset($_POST['add'])) { $text = strip_tags(trim($_POST['txt'])); $text = strtolower($text); echo $text; } ?>
Не работает функция strtolower и strupper с кирилицей. С английскими все нормально.
1. Отправляю функцией mail информацию для пользователся. На адреса @mail, @rambler, @list .
Почему функция strtolower не работает в кодировке utf-8 для русских символов
Помогите, пожалуйста. Почему функция strtolower не работает в кодировке utf-8 для русских.
функция strtolower для Логина
Введите пожалуйста функцию strtolower для логина <?php session_start(); $username = $_POST;.
Функция strtolower на платформе Юникс
Сервер на платформе Unix и оператор strtolower не преобразует русские символы к нужному регистру.
Сообщение было отмечено marrk как решение
Решение
Точно, всё заработало, я и не в курсе был что есть strtolower а есть mb_strtolower и это другая вещь.
marrk, их очень много. Функции с префиксом mb_ предоставляют доступ к выбору кодировки, обрабатывая объект аналогично функции без префикса.
Не работает strtolower с кирилицой
Не работает функция strtolower с кирилицой. Гуглинг проблемы подсказал установить setlocale, но не.
Strtolower не срабатывает
Есть задача взять файл "robots.txt" с указанного пользователем адреса, и найти в нём кол-во.
Функции strupper(); strtolower();
Добрый вечер, не работают функции strtolower, strtoupper и ucfirst . Не форматируют текст никак.
strtolower для русского языка
strtolower превращяет все в маленькие буквы если английские символы а вот русские символы.
Strtolower(String) возвращает пустую строку
Всех с наступающим новым годом! Ребята возник вопрос, может кто-то сталкивался. Есть строка.
Функция корректно работает в Delphi 7 и не неверно работает в RAD Studio 10
Переписываю свою программу с Delphi 7 под RAD Studio 10. Столкнулся с проблемой — функция в.
Почему может не работать mb_strtolower?
Сел переделывать старый сайт с win-1251 на utf-8 и прилип! Функция транслитерации почти вся сделана на mb_ и на первом же mb_strtolower кириллица превращается в вопросы. Настроил utf-8 везде, где только можно — вопросы остаются. php 5.6 — в других местах эта функция срабатывает. Что еще можно настроить?
Простой 15 комментариев
$str = mb_strtolower(trim($string),'UTF-8'); if (mb_strlen($str) > 1) < $br = preg_split('//',$str,-1,PREG_SPLIT_DELIM_CAPTURE); foreach ($br as $value) < $out .= array_search($value,$trans); >> else $out .= array_search($str,$trans); if($out != $string) return $out; else return 'e'.$string;
а надо искать.
потому что без. логики ты никогда не разберешься, в чем проблема.
я не знаю что такое «сайт на локали», но опять же, ты делаешь логическую ошибку.
ты рассуждаешь примерно так, «я включил в комнате свет, и в ней светло». Хотя лампочка перегорела и на самом деле темнота хоть глаз выколи. Но ты не обращаешь внимания на факты, которые у тебя перед глазами, и продолжаешь твердить что светло как днем
пойми, неважно, что ты сделал или думаешь. важны факты.
если в омнате темно — это значит лампочка не горит. и неважно, что ты свет включал и лампочку менял. это неважно. важно то что сейчас темно, а не светло. и ты должен разбираться — почему. А если ты будешь всем говорить что светло — то до причины проблем ты не докопаешься.
если у тебя из мб лезут вопросы — значит кодировкой UTF-8 и близко не пахнет. а все эти «сайт на локали» или «быквы выводятся»- это всё косвенные, не имеющие отношения к делу соображения. быквы у тебя и до этого прекрасно выводились через 1251, то есть то что «буквы выводятся» — это ВООБЩЕ ничего не доказывает
FanatPHP, Стока букаф. А-то ведь я кодировки нигде не проверил. Даже для mbstring выставил дефолтную utf-8. Хидер тоже добавил — результат — .
ещё раз.
важно не то что ты где-то там что-то сделал или выставил. а что на саммо деле происходит
по ссылке написано, как проверять, что происходит на самом деле
проверяй
и засунь свой щенячий сарказм себе поглубже в организм
FanatPHP, Сам ты щенок! Решил вопрос из других источников. Принудительно загнал в UTF-8 с помощью iconv.