В php не срабатывает stristr

12
18ans
На сайте с 30.08.2017
Offline
44
632

Всем привет!

Уже поломал всю голову... почему?

$value='10 МБ';

stristr($value,'МБ') - не находит...

if(stristr($value,'МБ'))

{

echo"OK";

}

Как такое может быть?

GoRSS
На сайте с 29.07.2013
Offline
138
#1
if(mb_stristr($value,'МБ',"utf-8"))
{
echo"OK";
}

10 символов

https://commersoft.ru - софт: Google Indexing [индексация в Гугле по API] - Webcontrol [мониторинг сайтов и доменов]
18ans
На сайте с 30.08.2017
Offline
44
#2

mb_stristr($value,'МБ') не срабатывает, подскажите плз

---------- Добавлено 10.10.2018 в 22:36 ----------

как их привести к единому... ? Помогите, плз

LEOnidUKG
На сайте с 25.11.2006
Offline
1730
#3
как их привести к единому... ? Помогите, плз

Кого их? Вы пробовали полностью скопировать условие, которое вам написали выше?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
18ans
На сайте с 30.08.2017
Offline
44
#4

stristr(mb_strtolower($value,'UTF-8'), mb_strtolower('МБ','UTF-8'))

Тоже не работает

---------- Добавлено 10.10.2018 в 22:51 ----------

LEOnidUKG:
Кого их? Вы пробовали полностью скопировать условие, которое вам написали выше?

Да, не работает...

$value берет значение из базы мускула...

поле - utf8_general_ci

таблица - InnoDB

Оптимизайка
На сайте с 11.03.2012
Offline
396
#5

ваш пример работает, видимо в $value на самом деле что-то другое, вы выведите его на экран (может там англ. буква m, например).

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
LEOnidUKG
На сайте с 25.11.2006
Offline
1730
#6

У вас точно там все буквы русские?

Чудес не бывает. Проверьте на банальном

if ($value=='10 МБ') {echo 'OK';}

Оптимизайка
На сайте с 11.03.2012
Offline
396
#7

И вообще лучше тут использовать strpos / stripos, КМК.

18ans
На сайте с 30.08.2017
Offline
44
#8

печатаю $value вижу на экране 10 МБ

$value берет значение из базы...

я в код проверки даже скопировал МБ - не находит..

если ручками в коде прописал значение $value='10 МБ' и ищу там МБ - тож ручками прописал, то все работает...

S
На сайте с 30.09.2016
Offline
469
#9

А сам-то файл в какой кодировке?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
Оптимизайка
На сайте с 11.03.2012
Offline
396
#10

$value = ваша хрень, якобы '10 МБ' из базы;

var_dump(unpack('C*', $value));

что покажет? должно быть:

array(7) {

[1] =>

int(49)

[2] =>

int(48)

[3] =>

int(32)

[4] =>

int(208)

[5] =>

int(156)

[6] =>

int(208)

[7] =>

int(145)

}

и с вручную напечатанным вами '10 МБ' коды покажите, какие получатся.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий