我正在托管一个运行PHPBB软件的论坛(用PHP编写)。
我在论坛中添加了第三方修改,允许用户在其个人资料中添加指向其Facebook页面的链接。有一行代码可以检查用户在此文本字段中输入的模式,如果用户输入的内容不符合所需的模式或格式,则会显示错误。
'facebook' => array(array('string', true, 12, 255),array('match', true, '#^http[s]?://(.*?\.)*?[a-z0-9\-]+\.[a-z]{2,4}#i')),
我对这行代码的后半部分以及它正在测试的特定模式感到困惑。我找不到任何PHP参考页面来帮助我解释它正在测试的模式,并帮助我将其更改为我的首选模式。
我想修改上面的代码行,拒绝任何不以http://www.facebook.com/开头的条目
答案 0 :(得分:1)
以下正则表达式检查字符串是以http://www.facebook.com/
还是https://www.facebook.com/
开头:
'#^https?:\/\/www\.facebook\.com\/#i'
因此,您的代码应该如下所示:
array('match', true, '#^https?:\/\/www\.facebook\.com\/#i'))