这有点复杂,两个问题在一个 - 1)如何从存储在数据库表中的文本中选择域名和2)如何显示与该域名相关的消息。我想如果我先解释整个项目,我至少可以得到一些提示,引导我朝着正确的方向前进。
好的,想象一下存储在数据库表中的文章。这篇文章包括一些链接,如:
http://www[.]mysite[.]com/Life
http://www[.]mysite2[.]com/World/Africa
http://www[.]google[.]com/help
http://en[.]wikipedia[.]com
(注意:我插入了括号,因为forumbot显然认为我正在发布其他网站的链接,而不是示例。)
如果我正在浏览mysite.com,我想区分......
1)链接到该站点上的其他页面(无需消息) 2)指向联盟网站的链接(例如mysite2.com) 3)链接到“外国”网站(例如谷歌) 4)可能链接到特定网站,如维基百科
然后,我想显示某种消息或警告,如下所示:
1)(不需要消息) 2)“注意:您将离开mysite.com获取联盟网站” 3)“注意:您将离开MySite网站系列。请再次访问!” 4)“警告:您正在关注维基百科的链接。请注意,其文章可能不准确。”
所以,假设我查询我的数据库表并显示这样的文章......
echo $ Text;
搜索该文本的链接并选择任何域名的好方法是什么?那么我如何将该域名与交换机中的名称列表进行匹配,如下所示?
switch($Domain)
{
case 'mysite[.]com':
// (Do nothing)
break;
case 'google[.]com':
// Display message
break;
case 'en.wikipedia[.]org':
// Display warning
break;
default:
break;
}
接下来,我必须弄清楚如何显示消息或弹出窗口。第二个想法,我应该把它作为一个单独的问题(必要时)。这已经成为一个很长的问题。
P.S。我找到了几篇解释如何使用正则表达式获取域名的帖子,如下所示: Simple regex for domain names
答案可能就在那里,但我还没弄清楚如何把它们放在一起。感谢。