是否有一个函数可以让我在字符串中找到单词的位置?按位置我不是指字符串中的数字字符。我知道有很多函数可以执行此操作,例如strpos()和strstr()等。我正在寻找的是一个函数,它将返回一个单词在字符串中的数字相对于单词的数量。
例如,如果我在文本“This is a string”中搜索“string”,结果将是4。
注意:我对将字符串拆分为数组不感兴趣。我需要一个允许我将字符串作为字符串输入的函数,而不是数组。因此,Find the exact word position in string的答案不是我想要的。
答案 0 :(得分:2)
function find_word_pos($string, $word) {
//case in-sensitive
$string = strtolower($string); //make the string lowercase
$word = strtolower($word);//make the search string lowercase
$exp = explode(" ", $string);
if (in_array($word, $exp)) {
return array_search($word, $exp) + 1;
}
return -1; //return -1 if not found
}
$str = "This is a string";
echo find_word_pos($str, "string");
答案 1 :(得分:1)
你可以explode
在数组中使用
$arr_str = explode(" ","This is a string")
并使用array_search作为职位
echo array_search("string",$arr_str)+1;
同时添加+1,因为数组从0开始
希望这一定能解决您的问题