如何使用Laravel 4.1在字符串中找到#hashtags?

时间:2014-01-18 05:39:10

标签: php string input laravel laravel-4

我目前正在尝试过滤输入字符串,以找到用户希望与其照片一起显示的单个主题标签。但是,我目前在我的数据库中插入的内容不正确。

最好的情况是每个主题标签都保存在带有照片ID的新数据库行中。但是,我真的不知道如何做到这一点。

$hashtag = new Hashtag;

     $hashtag->photo_id = $photo->id;

        $hashtag_string = Input::get('hashtags');

            $hashtag_string = Str::contains($hashtag_string, '#')

        $hashtag->hashtag = $hashtag_string;


$hashtag->save();

我在这个备忘单(http://cheats.jesse-obrien.ca)中找到了一些功能,但我没有让它们正常工作。

1 个答案:

答案 0 :(得分:1)

试试这个:

$str = $hashtag_string;

       preg_match_all('/#(\w+)/', $str, $matches);


       foreach ($matches[1] as $hashtag_name) {

       $hashtag =   Hashtag::firstOrCreate(array('hashtag' => $hashtag_name));

                                    }

然后,您可以在此foreach循环中将这些主题标签连接到帖子(或者在您的情况下是照片)或某事。