stristr

(PHP 4, PHP 5)

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

Описание

string stristr ( string $haystack , string $needle )

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

Если подстрока needle не найдена, stristr() возвращает FALSE.

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

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

<?php
  $email 
'USER@EXAMPLE.com';
  
$domain stristr($email'e');
  echo 
$domain
// выводит ER@EXAMPLE.com
?>

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

См. также описание функций strstr(), strrchr(), substr() и ereg().

Коментарии

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
handy little bit of code I wrote to take arguments from the command line and parse them for use in my apps.

<?php

 $i 
implode(" ",$argv); //implode all the settings sent via clie
 
$e explode("-",$i); // no lets explode it using our defined seperator '-'

       //now lets parse the array and return the parameter name and its setting
       // since the input is being sent by the user via the command line
       //we will use stristr since we don't care about case sensitivity and
       //will convert them as needed later.

   
while (list($index,$value) = each($e)){

       
//lets grap the parameter name first using a double reverse string
       // to get the begining of the string in the array then reverse it again
       // to set it back. we will also "trim" off the "=" sign

     
$param rtrim(strrev(stristr(strrev($value),'=')),"=");

       
//now lets get what the parameter is set to.
       // again "trimming" off the = sign

     
$setting ltrim(stristr($value,'='),"=");

       
// now do something with our results.
       // let's just echo them out so we can see that everything is working

     
echo "Array index is ".$index." and value is ".$value."\r\n";
      echo 
"Parameter is ".$param." and is set to ".$setting."\r\n\r\n";

}

?>

when run from the CLI this script returns the following.

[root@fedora4 ~]# php a.php -val1=one -val2=two -val3=three

Array index is 0 and value is a.php
Parameter is  and is set to

Array index is 1 and value is val1=one
Parameter is val1 and is set to one

Array index is 2 and value is val2=two
Parameter is val2 and is set to two

Array index is 3 and value is val3=three
Parameter is val3 and is set to three

[root@fedora4 ~]#
2005-11-07 11:17:49
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
Active item item in menu:

<?php
function aim($page) {
    if(
stristr($_SERVER['REQUEST_URI'], $page)) {
        return 
' class="active"';
    } 
}
?>

usage:

<style type="text/css">
.active {color: red;}
</style>

<?php
print '<a href="http://example.com/page/hello-world/"'aim('hello-world') .'>HW</a>'
?>
2008-12-18 14:36:26
http://php5.kiev.ua/manual/ru/function.stristr.html
Beware the example given here:

if stristr($message,'viagra')
or stristr($message,'cialis')
)
{
die();
}

stristr does not search for words, it finds matching substrings.  So, for example, the check for 'cialis' will trigger on 'specialist'
2011-01-13 03:20:50
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

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