stristr

(PHP 4, PHP 5, PHP 7)

stristrРегистронезависимый вариант функции strstr()

Описание

string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

Возвращает всю строку haystack начиная с первого вхождения needle включительно.

Список параметров

haystack

Строка, в которой производится поиск

needle

Если needle не является строкой, он приводится к целому и трактуется как код символа.

before_needle

Если установлен в TRUE, stristr() возвращает часть строки haystack до первого вхождения needle (не включая needle).

needle и haystack обрабатываются без учета регистра.

Возвращаемые значения

Возвращает указанную подстроку. Если подстрока needle не найдена, возвращается FALSE.

Список изменений

Версия Описание
5.3.0 Добавлен необязательный параметр before_needle.
4.3.0 stristr() теперь бинарно-безопасна.

Примеры

Пример #1 Пример использования stristr()

<?php
  $email 
'USER@EXAMPLE.com';
  echo 
stristr($email'e'); // выводит ER@EXAMPLE.com
  
echo stristr($email'e'true); // Начиная с PHP 5.3.0, выводит US
?>

Пример #2 Проверка на вхождение строки

<?php
  $string 
'Hello World!';
  if(
stristr($string'earth') === FALSE) {
    echo 
'"earth" не найдена в строке';
  }
// выводит: "earth" не найдена в строке
?>

Пример #3 Использование "нестроки" в поиске

<?php
  $string 
'APPLE';
  echo 
stristr($string97); // 97 = a в нижнем регистре
// выводит: APPLE
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strstr() - Находит первое вхождение подстроки
  • strrchr() - Находит последнее вхождение символа в строке
  • stripos() - Возвращает позицию первого вхождения подстроки без учета регистра
  • strpbrk() - Ищет в строке любой символ из заданного набора
  • preg_match() - Выполняет проверку на соответствие регулярному выражению

Коментарии

There was a change in PHP 4.2.3 that can cause a warning message
to be generated when using stristr(), even though no message was
generated in older versions of PHP.

The following will generate a warning message in 4.0.6 and 4.2.3:
  stristr("haystack", "");
     OR
  $needle = "";  stristr("haystack", $needle);

This will _not_ generate an "Empty Delimiter" warning message in
4.0.6, but _will_ in 4.2.3:
  unset($needle); stristr("haystack", $needle);

Here's a URL that documents what was changed:
http://groups.google.ca/groups?selm=cvshholzgra1031224321%40cvsserver
2002-10-03 00:36:01
http://php5.kiev.ua/manual/ru/function.stristr.html
An example for the stristr() function:

<?php
$a 
"I like php";
if (
stristr("$a""LikE PhP")) {
print (
"According to \$a, you like PHP.");
}
?>

It will look in $a for "like php" (NOT case sensetive. though, strstr() is case-sensetive).

For the ones of you who uses linux.. It is similiar to the "grep" command.
Actually.. "grep -i".
2002-11-12 14:26:34
http://php5.kiev.ua/manual/ru/function.stristr.html
<?php

function stristr_reverse($haystack$needle) {
 
$pos stripos($haystack$needle) + strlen($needle);
  return 
substr($haystack0$pos);
}
$email 'USER@EXAMPLE.com';
echo 
stristr_reverse($email'er');
// outputs USER

?>
2005-06-05 04:02:25
http://php5.kiev.ua/manual/ru/function.stristr.html
Just been caught out by stristr trying to converting the needle from an Int to an ASCII value.

Got round this by casting the value to a string.

<?php
if( !stristr$file, (string) $myCustomer->getCustomerID()  ) ) {
 
// Permission denied
}
?>
2007-10-06 08:02:41
http://php5.kiev.ua/manual/ru/function.stristr.html
Автор:
I think there is a bug in php 5.3 in stristr with uppercase Ä containing other character

http://pastebin.com/5bP6uztY

if you search only with täry it works, but as soon as the word is tärylä  it does not. TÄRYL works fine
2014-05-23 13:33:40
http://php5.kiev.ua/manual/ru/function.stristr.html

    Поддержать сайт на родительском проекте КГБ