frenzy
Новичок
Помогите пожалуйста разобраться почему mb_stripos не находит подстроку, если указать кодировку UTF-8?
Есть простой код:
$offset везде false. Если поставить $offset = mb_stripos($text, $keyword);, то работает, но позицию находит не правильно естессно.
Файл прилагаю: сохранял в npp "UTF-8 без BOM".
Запускал на OpenServer 5.1.1, php 5.3, 5.4 и на удаленном хосте под линью - результат один.
default_charset = "UTF-8" в php.ini и mb_internal_encoding("UTF-8"); ничего не меняет.
Есть простой код:
PHP:
<?php
$text = "Если length отрицательный, то будет отброшено указанное этим аргументом число символов с конца строки string. Если при этом позиция начала подстроки, определяемая аргументом start, находится в отброшенной части строки, возвращается пустая строка.";
$array_of_words = array ('length', 'аргумент', 'Части');
var_dump($array_of_words);
print opt($text, $array_of_words);
function opt($text, $array_of_words, $encoding = "UTF-8"){
$textlen = mb_strlen($text, $encoding);
foreach ( $array_of_words as $key => $keyword){
$offset = 0;
$keywordtlen = mb_strlen($keyword, $encoding);
$offset = mb_stripos($text, $keyword,$encoding);
var_dump($offset);
var_dump($keyword);
var_dump($keywordtlen);
}
var_dump($textlen);
return $text;
}
?>
Файл прилагаю: сохранял в npp "UTF-8 без BOM".
Запускал на OpenServer 5.1.1, php 5.3, 5.4 и на удаленном хосте под линью - результат один.
default_charset = "UTF-8" в php.ini и mb_internal_encoding("UTF-8"); ничего не меняет.
Вложения
-
1 KB Просмотры: 2