у меня есть вопрос. Я просматриваю профиль twitter, используя Rstudio, Postgreql, PHP
Im пытается фильтровать твиты из профиля twitter.
Im использует php с postgresql. У меня уже есть твиты в таблице на моем веб-сайте, используя SQL Query. Я хотел бы использовать Regex для фильтрации твитов. Я не хочу показывать все твиты из профиля twitter на моем веб-сайте, просто некоторые, например твиты, содержащие #Vertraging. Теперь я вижу все твиты на моем сайте.
Как я могу исключить все твиты, не содержащие #vertraging?
посмотреть скриншот для моей таблицы на моем сайте
http://prntscr.com/384y5m
Вы можете пойти двумя способами. Или вы отфильтровываете их перед отправкой в свою базу данных. В этом случае вы можете использовать:
if (preg_match('/\#vertraging/i', $tweet) { //Insert in DB }
Если вы хотите вставить все из них, но только выберите те, у которых #vertraging
из вашей базы данных, вы можете использовать это WHERE
в своем запросе
WHERE `tweetsText' LIKE '%#vertraging%'
Если вы используете Postgresql, вы можете игнорировать Regex и использовать прямо, 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)%'
Надеюсь, это поможет!