你知道如果你去 facebook.com 并在状态更新文本区域中输入一个 URL,它将自动被检测到,Facebook 将显示来自该 URL/链接的数据的小快照?Facebook 甚至不在乎您输入的 URL 是否带有http://
.
我正在寻找复制这种行为。现在我有这个正则表达式:
((?:https?:\/\/)?)((?:[a-zA-Z0-9\-]+\.)+(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2})(?:[a-z0-9\._\/~%\-\+&\#\?!=\(\)@]*)?(?:#?(?:[w]+)?)?)
我用它来匹配在文本区域中输入的 URL。但是,它有误报;它将匹配document.write(foo)
显然不是 URL。
Facebook 似乎没有这个问题。事实上,我可以在 Facebook 的 textarea 中输入“yahoo.com”,它会将其识别为 URL。但如果我输入“example.com”,它就不会识别它。因此,这意味着 Facebook 必须做的不仅仅是正则表达式匹配。还是我错了?
总之,我想知道 Facebook 在做什么,我想知道如何复制它。非常感谢任何想法、提示或解决方案。
谢谢阅读。