如何找出有/没有雄辩的结果/字符串中使用了多少单词?

我想知道 laravel 中 eloquent 中使用了多少单词。我不确定 eloquent 是否可以,所以如果不是,我该如何使用 php 来做到这一点?


例子 :


我从以下查询中得到结果:


    $posts = Posts::where('post_body', 'like', '%'.$name.'%')->get();

    $result = [];

    foreach ($posts as $post) {

        // Logic here to push to result and how much searched word used in result and push to array

    }


    return $result;

因此,如果我搜索文件名之类的内容12345.jpeg,我想12345.jpeg知道post_body. 检查有多少,然后将使用计数和结果推送到数组。


更多示例:


发布正文结果:“这是 12345.jpeg 且<img src="12345.jpeg"/>” => 返回字符串中 12345.jpeg 的 2 次使用情况


发布正文结果:“这是 12345.jpeg 以及<img src="12345.jpeg"/>更多 12345.jpeg”=> 返回字符串中 12345.jpeg 的 3 次使用情况


post body result : => 返回结果中使用了happy world, happy life, Happy post多少。happy这是我对 1 感到满意以来的 2 次H。


汪汪一只猫
浏览 74回答 2
2回答

拉丁的传说

可以使用PHP的substr_count函数。例如:$s&nbsp;=&nbsp;"happy&nbsp;world,&nbsp;happy&nbsp;life,&nbsp;Happy&nbsp;post"; echo&nbsp;substr_count($s,&nbsp;"happy");&nbsp;//yields&nbsp;2.来自文档:substr_count()返回 Needle 子字符串在 haystack 字符串中出现的次数。请注意,针区分大小写。供参考的文档链接:&nbsp;https ://www.php.net/manual/en/function.substr-count.php

牧羊人nacy

这就是您所需要的。$posts = Posts::where('post_body', 'like', '%'.$name.'%')->get();$posts->transform(function ($post) use ($name) {&nbsp; $post = (object) $post;&nbsp; $post->occurennces = substr_count($post->post_body, $name);&nbsp; return $post;});return $posts;
打开App,查看更多内容
随时随地看视频慕课网APP