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

search for in the

strpos> <strncmp
[edit] Last updated: Fri, 17 May 2013

view this page in

strpbrk

(PHP 5)

strpbrk在字符串中查找一组字符的任何一个字符

说明

string strpbrk ( string $haystack , string $char_list )

strpbrk() 函数在 haystack 字符串中查找 char_list 中的字符。

参数

haystack

在此字符串中查找 char_list

char_list

该参数区分大小写。

返回值

返回一个以找到的字符开始的子字符串。如果没有找到,则返回 FALSE

范例

Example #1 strpbrk() 范例

<?php

$text 
'This is a Simple text.';

// 输出 "is is a Simple text.",因为 'i' 先被匹配
echo strpbrk($text'mi');

// 输出 "Simple text.",因为字符区分大小写
echo strpbrk($text'S');
?>

参见

  • strpos() - 查找字符串首次出现的位置
  • strstr() - 查找字符串的首次出现
  • preg_match() - 执行一个正则表达式匹配



add a note add a note User Contributed Notes strpbrk - [2 notes]
up
0
Evan
5 years ago
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;
}

?>
up
-1
root at mantoru dot de
5 years ago
A simpler (and slightly faster) strpbrkpos function:

<?php
function strpbrkpos($haystack, $char_list) {
   
$result = strcspn($haystack, $char_list);
    if (
$result != strlen($haystack)) {
        return
$result;
    }
    return
false;
}
?>

 
show source | credits | sitemap | contact | advertising | mirror sites