我试图从Twitter个人资料中过滤推文。
我使用php和postgresql。我已经使用SQL Query在我的网站上的表中发布了推文。我想用Regex来过滤推文。我不想在我的网站上显示推文个人资料中的所有推文,只是一些,比如包含#Vertraging的推文。现在我看到我网站上的所有推文。
如何排除所有不包含#vertraging的推文?
在我的网站上查看我的表格截图
答案 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)%'
希望有所帮助!