Trên trang web PHP của tôi, hiện tại người dùng đăng nhập bằng địa chỉ email và mật khẩu. Tôi cũng muốn thêm tên người dùng, tên người dùng này g \ set sẽ là duy nhất và họ không thể thay đổi tên người dùng đó. Tôi tự hỏi làm thế nào tôi có thể làm cho tên này không có không gian trong nó và làm việc trong một URL để tôi có thể sử dụng tên người dùng để liên kết đến hồ sơ có và các công cụ khác. Nếu có một không gian trong đó tên người dùng thì nó sẽ thêm một jason_davis gạch dưới. Tôi không chắc chắn cách tốt nhất để làm điều này?URL Tên người dùng thân thiện trong PHP?
Trả lời
function Slug($string)
{
return strtolower(trim(preg_replace('~[^0-9a-z]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-'));
}
$user = 'Alix Axel';
echo Slug($user); // alix-axel
$user = 'Álix Ãxel';
echo Slug($user); // alix-axel
$user = 'Álix----_Ãxel!?!?';
echo Slug($user); // alix-axel
Điều này rất nguy hiểm! Nhiều tên người dùng duy nhất có thể ánh xạ tới cùng một URL. Đó không phải là những gì bạn muốn, phải không? Hãy xem xét, ví dụ: 'AB' và' ab', là các chuỗi duy nhất nhưng ánh xạ tới cùng một chuỗi sên. Bạn nên lưu trữ sên làm định danh. –
Đẹp nhất, Älix! –
@ John Feminella: Ông rõ ràng sẽ phải kiểm tra các bản sao tại một số thời điểm trước khi lưu trữ sên. –
Nói cách khác ... bạn cần phải tạo tên người dùng. Doctrine (ORM cho PHP) có một hàm tốt để làm điều đó. Doctrine_Inflector::urlize()
EDIT: Bạn cũng nên giữ tên người dùng sên trong cơ sở dữ liệu, dưới dạng cột Khóa duy nhất. Sau đó, mọi hoạt động tìm kiếm phải được thực hiện dựa trên cột đó, không phải tên người dùng ban đầu.
- 1. php: SEO thân thiện với url
- 2. Url thân thiện với SEO trong Yii
- 3. Cách chọn múi giờ thân thiện với người dùng hơn?
- 4. Tên hay cho "Tiêu đề thân thiện với URL"?
- 5. Thông báo ValidatorError tùy chỉnh (thân thiện với người dùng)
- 6. sử dụng .htaccess cho url thân thiện
- 7. Dịch mã định danh mô hình của Apple (MacBookPro5,1) thành tên thân thiện với người dùng?
- 8. Thư viện PHP để tạo dấu thời gian tương đối thân thiện với người dùng
- 9. Thành viên thân thiện URL - mod rewrite và php chuyển hướng
- 10. Giải pháp NoSQL thân thiện với PHP
- 11. Nhận các url thân thiện để làm việc trong Liferay
- 12. Làm cách nào để tạo URL thân thiện trong C#?
- 13. Làm cách nào để tạo URL thân thiện với .htaccess?
- 14. URL thân thiện cho một WebService với CherryPy
- 15. Tên thân thiện của Google sử dụng OpenID?
- 16. các công cụ để tạo lời nhắc dòng lệnh thân thiện với người dùng?
- 17. khuôn khổ thân thiện với người dùng cho trang web cá nhân?
- 18. Làm cho lỗi Mysql bị bắt trong C# thân thiện với người dùng
- 19. CakePHP Tên người dùng URL bằng Regex?
- 20. Sắp xếp các chuỗi chứa các số theo cách thân thiện với người dùng
- 21. Tất cả ngôn ngữ động có thân thiện với người dùng không?
- 22. Cách bao gồm dấu thời gian thân thiện với người dùng theo dấu vết
- 23. Cách xóa .html khỏi URL thân thiện - Modx?
- 24. Thân thiện với SEO là URL Unicode như thế nào?
- 25. .htaccess cung cấp 404 Không tìm thấy khi url trong URL thân thiện với SEO
- 26. Các ứng dụng Java đẹp, thân thiện với người dùng có tồn tại không?
- 27. Làm cách nào để tạo một cú pháp string.format thân thiện với người dùng hơn?
- 28. Định dạng thời gian thân thiện với người dùng bằng Python?
- 29. Django: list_filter sử dụng một tên thân thiện
- 30. Một thư viện tệp thân thiện với TDD thân thiện với môi trường IO
Có rất nhiều câu hỏi như thế này. Bạn không nhận được câu trả lời khi tìm kiếm? – Gumbo
@Gumbo Tôi đã tìm kiếm SO, chứ không phải google. Có thể không phải là cụm từ chính xác nhưng tôi đã tìm kiếm "URL tên người dùng thân thiện" không có nhiều may mắn. Tôi không biết nó được gọi là sên trước đây. – JasonDavis
Có thể không phải ai cũng đang cố gắng chuyển đổi tên người dùng. Nhưng việc tìm kiếm “Chuỗi thân thiện với URL” sẽ trả lại kết quả có thể sử dụng được. – Gumbo