我正在开发一个标签系统,允许用户在文章帖子中使用主题标签。我使用preg_match_all('/#([\p{L}\p{Mn}]+)/u',$t,$matches);
对所有带有哈希标记的单词进行整理,将其读入数组。我需要做的是将每个散列标记的单词存储到mySQL数据库的一行中,以便可以搜索最常见的单词以构建一种趋势系统。
我在将数组存储到数据库中的不同行时遇到问题,我也很困惑如何在不知道需要多少行的情况下执行此操作,因为每篇文章都有不同数量的主题标签。任何帮助将不胜感激!
编辑 - 我想出了一个循环,但现在它继续读取数据字在我的数据库中, foreach($匹配为$ a => $ b){ $ query1 =“INSERT INTO hashtags(hashtags)VALUES('$ matches [$ a]');”;$ q = mysql_query($ query1)或die('错误发布数据');
} 有什么建议吗?
答案 0 :(得分:0)
这里我为sql中的插入行做了一些例子。
$t= "<b>example: </b><div align=left>this is a test</div>";
$matches = array();
preg_match_all('|<[^>]+>(.*)</[^>]+>|U',$t,$matches);
print_r($matches);
for ($i=0; $i<count($matches);$i++)
{
for ($k=0; $k<count($matches[$i]);$k++)
{
$arrayKeyword[] = array($matches[$i][$k]);
}
$value = implode(",",$arrayKeyword);
$sql = "Insert into <tablename> value (".$value.")";
}