php中是否有一个标准函数可以返回一个多字节符号第一次出现的位置?
总体任务如下。我在这个字符串中有多字节字符串和位置,我需要找到其中一个符号(分隔符)的第一次出现。我编写了以下函数,但不幸的是它的运行速度很慢。
$delimiters = array(
"\r", "\n", "\t", ".", ";", "!", "?"
);
function get_cit_end($str, $end) {
global $delimiters;
if( $end >= mb_strlen($str) )
return mb_strlen($str) - 1;
$c = mb_substr($str, $end, 1);
while( $end < mb_strlen($str) ) {
if( in_array($c, $delimiters) )
break;
$end++;
$c = mb_substr($str, $end, 1);
}
return $end;
}