这与在字符串中查找子字符串的所有位置略有不同,因为我希望它可以处理后跟空格、逗号、分号、冒号、句号、感叹号和其他标点符号的单词。
我有以下函数来查找子字符串的所有位置:
function strallpos($haystack,$needle,$offset = 0){
$result = array();
for($i = $offset; $i<strlen($haystack); $i++){
$pos = strpos($haystack,$needle,$i);
if($pos !== FALSE){
$offset = $pos;
if($offset >= $i){
$i = $offset;
$result[] = $offset;
}
}
}
return $result;
}
问题是,如果我尝试查找子字符串“us”的所有位置,它将返回“招股说明书”或“包容性”等中出现的位置。
有什么办法可以防止这种情况发生吗?可能使用正则表达式?
谢谢。斯特凡