Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PHP: strpbrk - Manual
[go: Go Back, main page]

PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

strpos" width="11" height="7"/> <strncmp
Last updated: Thu, 23 Aug 2007

view this page in

strpbrk

(PHP 5)

strpbrk — Search a string for any of a set of characters

Description

string strpbrk ( string $haystack, string $char_list )

strpbrk() searches the haystack string for a char_list.

Parameters

haystack

The string where char_list is looked for.

char_list

This parameter is case sensitive.

Return Values

Returns a string starting from the character found, or FALSE if it is not found.

Examples

Example 2437. strpbrk() example

<?php

$text
= 'This is a Simple text.';

// this echoes "is is a Simple text." because 'i' is matched first
echo strpbrk($text, 'mi');

// this echoes "Simple text." because chars are case sensitive
echo strpbrk($text, 'S');
?>



strpos" width="11" height="7"/> <strncmp
Last updated: Thu, 23 Aug 2007
 
add a note add a note User Contributed Notes
strpbrk
pzb at novell dot com
29-Jul-2007 08:09
One undocumented requirement:
If $char_list contains null characters ("\0"), only characters before the null will be used.  While PHP handles nulls in strings just fine, the data is passed to a function that is not null safe.
Evan
04-Jul-2007 12:33
If you're not looking to duplicate the rest of the string, but instead just want the offset, in the spirit of the str*pos() functions:

<?php

function strpbrkpos($s, $accept) {
 
$r = FALSE;
 
$t = 0;
 
$i = 0;
 
$accept_l = strlen($accept);

  for ( ;
$i < $accept_l ; $i++ )
    if ( (
$t = strpos($s, $accept{$i})) !== FALSE )
      if ( (
$r === FALSE) || ($t < $r) )
       
$r = $t;

  return
$v;
}

?>
user at example dot net
04-Jul-2007 04:25
For PHP versions before 5:

<?php

   
function strpbrk( $haystack, $char_list )
    {
       
$strlen = strlen($char_list);
       
$found = false;
        for(
$i=0; $i<$strlen; $i++ ) {
            if( (
$tmp = strpos($haystack, $char_list{$i})) !== false ) {
                if( !
$found ) {
                   
$pos = $tmp;
                   
$found = true;
                    continue;
                }
               
$pos = min($pos, $tmp);
            }
        }
        if( !
$found ) {
            return
false;
        }
        return
substr($haystack, $pos);
    }

?>

Sadly this is about ten times slower than the native implementation.
jamie dot mcardle at stpetersgv dot org
08-Jun-2007 06:54
I wanted to use this function to look for an @ in a db entry - didn't work because I don't have this version of PHP yet, but I thought I had my issue licked. Darn it.
aidan at php dot net
21-Aug-2004 05:11
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

strpos" width="11" height="7"/> <strncmp
Last updated: Thu, 23 Aug 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites