提问人:Rohan 提问时间:11/9/2023 更新时间:11/17/2023 访问量:37
在搜索标记的单词时,如何判断 Str::contains 在 laravel 中找到了哪些单词?
How to tell which words were found by Str::contains in laravel while searching for flagged words?
问:
我正在开发一项功能,我需要在某些内容中找到标记的单词,并且我正在使用内置的 laravel 来弄清楚它。它就像一个魅力,并且易于使用。Str::contains
use Illuminate\Support\Str;
Str::contains($this->content, $flagged_words)
但它只给了我一个布尔输出。我还想知道它给了我哪个标记的词。这可能吗?还是我必须另辟蹊径?true
我能想到的一种方法是遍历标记的单词数组,并单独检查它们。这样我就知道哪个词被标记了。有什么更好的主意吗?Str::contains
答:
1赞
WebDesk Solution
11/17/2023
#1
您可以尝试下面的代码;我相信这将是非常有益的。
$flagged_words = ['first', 'second'];
$content = "This my first string project.";
$flagged_word = Arr::first($flagged_words, function ($word) use ($content) {
return Str::contains($content, $word);
});
if ($flagged_word) {
echo "Flagged word found: ==> " . $flagged_word;
} else {
echo "No flagged words found.";
}
评论
array_first
Arr::first()