[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Функция stripos()
maax
Например есть файл с массивом тачек,типо такого:

class Car
{
public $taziki = array(
'ВАЗ-2107',
'Лада Калина',
'Лада Приора'
);
}



и функция которая берет то что я ввел и то что есть в массиве


$test = $_POST['test'];

$arrcar = new Car;

$new = array();

foreach ($arrcar->taziki as $v)


if (stripos($v, $test) !== false){
$new[] = $v;
}

if(count($new) > 0){
for($i=0; $i<count($new); $i++){
echo "<li>$new[$i]</li>";
}
}
else{
echo "Совпадений не найдено";
}


если я набираю "ВАЗ" (он же $test) то функция stripos находит $test в массиве $v, а если маленькими буквами "ваз" то идет уже сообщение "Совпадений не найдено",но функция stripos должна же работать без учета регистра,не пойму в чем проблема
walerus
maax
<?php
$test = 'ада';

$arrcar = array(
'ВАЗ-2107',
'Лада Калина',
'Лада Приора',
'KIA'
);


$new = array();
foreach ($arrcar as $v){

if ( preg_match ( '~'.$test.'~iu', $v) ){
$new[] = $v;
}else{
continue;
}
}


if( !empty($new) ){

foreach ( $new as $line ){
echo "<li>$line</li>";
}

}
else{
echo "Совпадений не найдено";
}
с кириллицей у stripos - *опа B)
redreem
Цитата
с кириллицей у stripos - *опа cool.gif

уточнение: с кириллицей в utf-8. если юзать 1251, то проблем нет.
sergeiss
Дополню ответы: почитай внимательно хэлп http://php.net/manual/ru/function.stripos.php
Там есть ссылка на mb_stripos, где mb_ - это сокращение от 'multi byte'.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
maax
sergeiss

Ну в моем случае походу логичнее юзать mb_stripos т.к. она на удивление работает как надо,или же заморочиться с кодировками для stripos если я правильно понял
sergeiss
Цитата (maax @ 22.01.2017 - 17:12)
в моем случае походу логичнее юзать mb_stripos т.к. она на удивление работает как надо

Ну я тебя на неё потому и "послал"... Потому что mb - это "мультибайтные кодировки", то есть, в частности UTF8. Больше ни с чем заморачиваться не надо.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
redreem
Цитата
Больше ни с чем заморачиваться не надо.

при детальном рассмотрении mb_функции косячат направо и налево. вечно возникающий подобный вопрос - и все те же рецепеты. да блин, ТС потести разные кодировки в разных ситуациях и будет тебе щасте.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.