【发布时间】:2014-10-31 21:13:04
【问题描述】:
我花了几个小时来验证 Facebook PAGES。我找到并阅读了很多文章/帖子,但没有找到符合我要求的内容。我想将用户输入的 url ($rawurl) 转换为我想要的格式 ($goodurl),在谷歌搜索时,我发现 regex 是这样做的方法,但它非常复杂且难以理解并且需要帮助。
用户可以按照自己喜欢的方式输入网址 示例:
http://facebook.com/WillSmith,
https://facebook.com/WillSmith,
http://www.facebook.com/WillSmith,
https://www.facebook.com/WillSmith,
www.facebook.com/WillSmith
or just facebook.com/WillSmith
或任何其他方式。不仅如此,除了虚荣的 url 格式,facebook 页面还带有其他格式,如 facebook.com/pages/usernames/somenumbers。诸如 en-gb.facebook.com 之类的子域使事情变得更加困难。所以在谷歌搜索更多之后,我找到了一个正则表达式http[s]?://(www|[a-zA-Z]{2}-[a-zA-Z]{2})\.facebook\.com/(pages/[a-zA-Z0-9\.-]+/[0-9]+|[a-zA-Z0-9\.-]+)[/]?$,但不确定它是否能满足上述所有条件。
帮助我的需要:
1.我需要的标准格式是https://www.facebook.com/WillSmith
2. 我还需要检查它是否是一个有效的 URL。例如,上面的 url 是有效的,如果你看到这个 url https://www.facebook.com/WillSmith555,它符合有效标准,但 Facebook 上没有这样的页面。它显示“抱歉,此页面不可用。您点击的链接可能已损坏,或者该页面可能已被删除”,并带有损坏的竖起大拇指图片。
检查这两个条件后,我需要在php文件中回显用户输入的url在进行正则表达式转换后是否有效。
请帮忙。
【问题讨论】:
标签: php regex facebook facebook-page