Câu trả lời:
Chắc chắn rồi, chỉ cần kiểm tra xem ký tự cuối cùng có phải là dấu gạch chéo hay không và sau đó chọn ký tự đó.
if(substr($string, -1) == '/') {
$string = substr($string, 0, -1);
}
Một tùy chọn khác (có thể tốt hơn) sẽ được sử dụng rtrim()
- tùy chọn này loại bỏ tất cả các dấu gạch chéo sau:
$string = rtrim($string, '/');
Từ lâu đã chấp nhận, tuy nhiên trong các tìm kiếm liên quan của tôi, tôi đã vấp phải ở đây, và tôi đang thêm "tính đầy đủ"; rtrim()
là tuyệt vời, tuy nhiên được triển khai như thế này:
$string = rtrim($string, '/\\'); //strip both forward and back slashes
Nó đảm bảo tính di động từ * nix sang Windows , vì tôi cho rằng câu hỏi này liên quan đến việc xử lý các đường dẫn.
DIRECTORY_SEPARATOR
thay vì '/\\'
.
rtrim Sử dụng rtrim vì nó tôn trọng chuỗi không kết thúc bằng dấu gạch chéo
Vâng, đúng vậy!
DIRECTORY_SEPARATOR
thay vì'/'
nếu sử dụng đường dẫn tệp để nó hoạt động trên tất cả các nền tảng.