1. int strspn (string $str1 , string $str2 [, int $start [, int $length ]])
返回$str1中连续匹配$str2的长度,$start用来指定开始位置,$length用来指定搜索长度,如
$pos = strspn("4232987 is my qq card!","012345689");将返回7
2. int strcspn ( string $str1 , string $str2 [,int $start [, int $length]])
返回$str1中连续不匹配$str2的长度,$start用来指定开始位置,$length用来指定搜索长度,
如 $cpos = strcspn("my qq card is 4232987!","012345689");将返回14
两者结合可以用来截取字符串,如
$a = "aedfetgilciocwojnsiedewlijloewskisiwdsseidl";
$b = "abcd";
function diff($a,$b)
{
static $str="";
$start = strspn($a,$b);
$end = strcspn($a,$b,$start);
$str .= substr($a,$start,$end);
$a = substr($a,$start+$end);
if(!empty($a))
diff($a,$b);
return $str;
}
echo "the result is: " . diff($a,$b);