如果您不想复制字符串的其余部分,而只想获得偏移量(类似于 str*pos() 函数),请使用 strcspn()
(PHP 5, PHP 7, PHP 8)
strpbrk — 搜索字符串中是否存在一组字符中的任何一个
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');
?>
对 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;
}
?>