PHP Conference Japan 2024

strpbrk

(PHP 5, PHP 7, PHP 8)

strpbrk搜索字符串中是否存在一组字符中的任何一个

描述

strpbrk(string $string, string $characters): string|false

strpbrk()string 字符串中搜索 characters

参数

string

搜索 characters 的字符串。

characters

此参数区分大小写。

返回值

返回从找到的字符开始的字符串,如果未找到则返回 false

示例

示例 #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() - 执行正则表达式匹配

添加备注

用户贡献的备注 2 条备注

13
devnuhl
10 年前
如果您不想复制字符串的其余部分,而只想获得偏移量(类似于 str*pos() 函数),请使用 strcspn()
6
guillaume dot barranco at free dot fr
7 年前
对 Evan 的代码进行了一些修改,以便为第二个参数使用数组

<?php

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

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

return
$r;
}

?>
To Top