PHP正则表达推文过滤器

时间:2014-04-08 15:39:54

标签: php sql regex postgresql filter

我有一个问题。 我使用Rstudio,Postgreql,PHP

抓取推特个人资料

我试图从Twitter个人资料中过滤推文。

我使用php和postgresql。我已经使用SQL Query在我的网站上的表中发布了推文。我想用Regex来过滤推文。我不想在我的网站上显示推文个人资料中的所有推文,只是一些,比如包含#Vertraging的推文。现在我看到我网站上的所有推文。

如何排除所有不包含#vertraging的推文?

在我的网站上查看我的表格截图

http://prntscr.com/384y5m

2 个答案:

答案 0 :(得分:0)

你可以走2路。 或者在将它们发送到数据库之前将其过滤掉。在这种情况下,您可以使用:

if (preg_match('/\#vertraging/i', $tweet)
{
    //Insert in DB
}

如果要插入所有这些内容,但只选择数据库中#vertraging的内容,则可以在查询中使用此WHERE子句

WHERE `tweetsText' LIKE '%#vertraging%'

答案 1 :(得分:0)

如果您正在使用Postgresql,则可以忽略正则表达式并直接使用like。例如:

SELECT * FROM `tweets_table` WHERE `tweet_content` LIKE '%#Vertraging%'

这应该与正则表达式一样高效,可能更多。希望有所帮助!如果你担心大写/小写,你可以做两件事:

SELECT * FROM `tweets_table` WHERE LOWER(`tweet_content`) LIKE '%#vertraging%'

或者您可以使用similar to。但是,我只使用lower替代方案。

SELECT * FROM `tweets_table` WHERE `tweet_content` SIMILAR TO '%#(Vertraging|vertraging)%'

希望有所帮助!