将字符串与字符串分开并存储在单独的行中

时间:2017-02-19 20:18:36

标签: php arrays foreach

我试图从一个帖子中删除一个字符串中的主题标签,所以如果帖子中有多个标签,则会将它们分成单个#hashtags并放入我的单独行中#{1}}的#标签表。

目前,通过我的以下功能,他们会插入一行并以逗号列出。我怎样才能将它们放入一个数组然后单独存储呢?

以下是我试图无效的事情:

post_id

我添加了爆炸并得到了这个错误:

  

explode()期望参数2为字符串,数组在

中给出

1 个答案:

答案 0 :(得分:1)

你做了很多不必要的编码。我已经更新了代码并添加了一些关于它如何工作的评论:

$hashtags = "#hashtag1 this is my string with two hashtags #hashtag2";

function getHashtagsd($hashtags) {
    preg_match_all("/(#\w+)/u", $hashtags, $matches);

    if ($matches) {
        return $matches[0]; // No need to implode, just return the array
    }
}

$hashtagarray = getHashtagsd($hashtags);

// Walk through the array and insert each hashtag
for($i = 0; $i < count($hashtagarray); $i++){
    $insertf = "INSERT INTO streamdata_hashtags(streamitem_hashtag_id,hashtag,streamitem_hashtag_timestamp) VALUES ($last_id,'". $hashtagarray[$i] ."',NOW())";
    $add_postf = mysqli_query($mysqli,$insertf) or die(mysqli_error($mysqli));
}