Bạn biết làm cách nào nếu truy cập facebook.com và nhập URL vào văn bản cập nhật trạng thái, nó sẽ tự động được phát hiện và Facebook sẽ hiển thị một chút ảnh chụp nhanh dữ liệu từ URL/liên kết đó? Facebook thậm chí không quan tâm nếu bạn nhập URL có hoặc không có giao thức như http://
.Thuật toán khớp URL của Facebook hoạt động như thế nào?
Tôi đang tìm cách sao chép hành vi này. Hiện tại, tôi có cụm từ thông dụng này:
((?: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]+)?)?)
Và tôi sử dụng nó để khớp với URL được nhập trong vùng văn bản. Tuy nhiên, nó có dương tính giả; nó sẽ khớp với document.write(foo)
rõ ràng không phải là URL.
Facebook dường như không có vấn đề này. Trong thực tế, tôi có thể nhập "yahoo.com" vào vùng văn bản của Facebook và nó sẽ nhận ra nó là một URL. Nhưng nếu tôi gõ "example.com" nó sẽ không nhận ra nó. Vì vậy, điều này có nghĩa là Facebook phải làm một cái gì đó nhiều hơn là chỉ phù hợp với biểu thức chính quy. Hay tôi sai về điều này?
Tóm lại, tôi muốn biết Facebook đang làm gì và tôi muốn biết cách tôi có thể tái tạo nó. Bất kỳ ý tưởng, mẹo hoặc giải pháp nào đều được đánh giá cao.
Cảm ơn bạn đã đọc.
Câu hỏi này dường như không có chủ đề vì đó là về chi tiết triển khai của dịch vụ web nguồn đóng. –