これは、文字列内の部分文字列のすべての位置を見つけることとは少し異なります。これは、スペース、コンマ、セミコロン、コロン、ピリオド、感嘆符、およびその他の句読点が続く可能性のある単語を処理するためです。
部分文字列のすべての位置を見つける次の関数があります。
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」のすべての位置を見つけようとすると、「prospectus」または「inclusive」などの出現位置が返されることです.
これを防ぐ方法はありますか?おそらく正規表現を使用していますか?
ありがとう。ステファン