我正在编写一些代码,需要在字符串中搜索某种符号。我为此使用 mb_strpos 函数,它适用于字母符号,但如果我搜索问号、点等符号,则它不起作用。例如,如果我在字符串 mb_strpos 中搜索“aaaaa”(或任何其他 unicode 字符)按预期工作,但如果我搜索“??????” 它没有!
这是我的代码:
function symbols_in_row($string, $limit=5) {
//split string by characters and generate new array containing each character
$symbol = preg_split('//u', $string, -1, PREG_SPLIT_NO_EMPTY);
//remove duplicate symbols from array
$unique = array_unique($symbol);
//generate combination of symbols and search for them in string
for($x=0; $x<=count($unique); $x++) {
//generate combination of symbols
for($c=1; $c<=$limit; $c++) {
$combination .= $unique[$x];
}
//search for this combination of symbols in given string
$pos = mb_strpos($string, $combination);
if ($pos !== false) return false;
}
return true;
}
在第二种情况下它总是返回 true!
有人可以帮忙吗?