在laravel中搜索标记的单词时,如何判断Str::contains找到了哪些单词?

pn9klfpd  于 2023-11-20  发布在  其他
关注(0)|答案(1)|浏览(94)

我正在开发一个功能,我需要在一些内容中找到标记的单词,我正在使用内置的laravel Str::contains来解决这个问题。它工作起来很有魅力,而且易于使用。

use Illuminate\Support\Str;
Str::contains($this->content, $flagged_words)

字符串
但它只给我一个布尔输出。我也想知道它给我的标记词时,它来到true。这是可能的吗?或者我必须找到另一种方法?
我能想到的一种方法是循环遍历标记单词的数组,并分别检查它们的Str::contains。这样我就知道哪个单词被标记了。有更好的主意吗?

kg7wmglp

kg7wmglp1#

你可以试试下面的代码;我相信这将是非常有益的。

$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.";
    }

字符串

相关问题