如果您不想复制字符串的剩余部分,而是只想获取偏移量,以 str*pos() 函数的形式,请使用 strcspn()
(PHP 5, PHP 7, PHP 8)
strpbrk — 在字符串中搜索一组字符中的任何一个
string
要查找 characters
的字符串。
characters
此参数区分大小写。
如果找到,则返回从找到的字符开始的字符串,否则返回 false
。
示例 #1 strpbrk() 示例
<?php
$text = 'This is a Simple text.';
// 由于首先匹配到 'i',因此回显 "is is a Simple text."
echo strpbrk($text, 'mi');
// 由于字符区分大小写,因此回显 "Simple text."
echo strpbrk($text, 'S');
?>
对 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;
}
?>