search for in the  
<stripcslashesstripslashes>
Last updated: Thu, 19 May 2005

stripos

(PHP 5)

stripos --  Find position of first occurrence of a case-insensitive string

Description

int stripos ( string haystack, string needle [, int offset] )

Returns the numeric position of the first occurrence of needle in the haystack string. Unlike strpos(), stripos() is case-insensitive.

Note that the needle may be a string of one or more characters.

If needle is not found, stripos() will return boolean FALSE.

Warning

This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

Example 1. stripos() examples

<?php
$findme   
= 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';

$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);

// Nope, 'a' is certainly not in 'xyz'
if ($pos1 === false) {
   echo
"The string '$findme' was not found in the string '$mystring1'";
}

// Note our use of ===.  Simply == would not work as expected
// because the position of 'a' is the 0th (first) character.
if ($pos2 !== false) {
   echo
"We found '$findme' in '$mystring2' at position $pos2";
}
?>

If needle is not a string, it is converted to an integer and applied as the ordinal value of a character.

The optional offset parameter allows you to specify which character in haystack to start searching. The position returned is still relative to the beginning of haystack.

Note: This function is binary-safe.

See also strpos(), strrpos(), strrchr(), substr(), stristr(), strstr(), strripos() and str_ireplace().



User Contributed Notes
stripos
tobias dot kappe at hetnet dot nl
05-May-2005 03:51
So for absolute compatibility you should use this:
<?php
if(!function_exists('stripos'))
{
   function
stripos($haystack,$needle,$offset = 0)
   {
     return(
strpos(strtolower($haystack),strtolower($needle),$offset));
   }
}
?>
or PHP_Compat if you like ;)
shinji2001xyz at hotmail dot com
27-Apr-2005 04:55
Please note also that redefining stripos (for PHP4 compatibility) will give an error "can't redefine stripos()..." under PHP5. For those who need to have both PHP4 AND PHP5 compatibilities, they may add a condition  according to the php version, or just use another function name like "stripos_php4($x,$y,$offset)...".

Sylvain
tobias dot kappe at hetnet dot nl
17-Feb-2005 12:05
Since stripos() only is present in PHP 5, you shut use this instead for earlier versions:
<?php
function stripos($haystack,$needle,$offset = 0)
{
   return(
strpos(strtolower($haystack),strtolower($needle),$offset));
}
?>

Greetings,

Tobias
sim
02-Oct-2004 12:17
Just to be explicit, the position index returned by strpos starts at 0, not 1. e.g. strpos('abc','a') returns 0.
aidan at php dot net
30-May-2004 12:36
This functionality is now implemented in the PEAR package PHP_Compat.

More information about using this function without upgrading your version of PHP can be found on the below link:

http://pear.php.net/package/PHP_Compat

<stripcslashesstripslashes>
 Last updated: Thu, 19 May 2005
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: The Server Pages
Last updated: Thu May 19 17:35:34 2005 CDT