54
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Ví dụ đầu vào người dùng
//example.com/
//example.com/topic/
//example.com/topic/cars/
//www.example.com/topic/questions/
Tôi muốn một chức năng PHP để làm cho đầu ra như
example.com
example.com/topic/
example.com/topic/cars/
www.example.com/topic/questions/
Hỏi ngày 5 tháng 12 năm 2010 lúc 6:22Dec 5, 2010 at 6:22
0
example.com
example.com/topic/
example.com/topic/cars/
www.example.com/topic/questions/
5 hiện không được chấp nhận, vì vậy tốt hơn là sử dụng:$url = preg_replace["[^https?://]", "", $url ];
Điều này loại bỏ
example.com
example.com/topic/
example.com/topic/cars/
www.example.com/topic/questions/
6 hoặc example.com
example.com/topic/
example.com/topic/cars/
www.example.com/topic/questions/
7
J0e3gan
8.63010 Huy hiệu vàng52 Huy hiệu bạc79 Huy hiệu đồng10 gold badges52 silver badges79 bronze badges
Đã trả lời ngày 16 tháng 1 năm 2013 lúc 22:24Jan 16, 2013 at 22:24
3
Bạn nên sử dụng một mảng các thuật ngữ "không được phép" và sử dụng
example.com
example.com/topic/
example.com/topic/cars/
www.example.com/topic/questions/
8 và example.com
example.com/topic/
example.com/topic/cars/
www.example.com/topic/questions/
9 để tự động xóa chúng khỏi URL đã truyền:function remove_http[$url] {
$disallowed = array['//', '//'];
foreach[$disallowed as $d] {
if[strpos[$url, $d] === 0] {
return str_replace[$d, '', $url];
}
}
return $url;
}
Đã trả lời ngày 5 tháng 12 năm 2010 lúc 6:31Dec 5, 2010 at 6:31
Jacob Relkinjacob RelkinJacob Relkin
158K32 Huy hiệu vàng341 Huy hiệu bạc318 Huy hiệu đồng32 gold badges341 silver badges318 bronze badges
5
Tôi khuyên bạn nên sử dụng các công cụ mà PHP đã cung cấp cho bạn, hãy xem parse_url.
Ví dụ trên sẽ xuất ra:
Array
[
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
]
/path
Có vẻ như bạn đang theo đuổi ít nhất
$url = preg_replace["[^https?://]", "", $url ];
0 + $url = preg_replace["[^https?://]", "", $url ];
1 [thêm những người khác khi cần, ví dụ: $url = preg_replace["[^https?://]", "", $url ];
2]:$parsed = parse_url['//www.domain.com/topic/questions/'];
echo $parsed['host'], $parsed['path'];
> www.domain.com/topic/questions/
Chúc mừng
Đã trả lời ngày 16 tháng 1 năm 2013 lúc 22:26Jan 16, 2013 at 22:26
MadbreaksmadbreaksMadbreaks
Phù hiệu vàng 18,5K755 Huy hiệu bạc70 Huy hiệu đồng7 gold badges55 silver badges70 bronze badges
3
Tạo một mảng:
$remove = array["//","//"];
và thay thế bằng chuỗi trống:
str_replace[$remove,"",$url];
Nó sẽ trông giống như thế này:
function removeProtocol[$url]{
$remove = array["//","//"];
return str_replace[$remove,"",$url];
}
STR_REPLACE sẽ trả về một chuỗi nếu Haystack [đầu vào] của bạn là một chuỗi và bạn thay thế [các] kim của bạn trong mảng bằng một chuỗi. Thật tuyệt nên bạn có thể tránh được tất cả các vòng lặp thêm.
Đã trả lời ngày 2 tháng 5 năm 2018 lúc 17:12May 2, 2018 at 17:12
Ồ. Tôi đến đây từ Google hy vọng sẽ tìm thấy một lớp lót để sao chép và dán!
Bạn không cần một chức năng để làm điều này bởi vì một người đã tồn tại. Cứ làm đi:
example.com
example.com/topic/
example.com/topic/cars/
www.example.com/topic/questions/
0Trong ví dụ này, Explode [] sẽ trả về một mảng:
example.com
example.com/topic/
example.com/topic/cars/
www.example.com/topic/questions/
1Và chúng tôi muốn phần tử thứ 2. Điều này sẽ xử lý HTTP, HTTPS, FTP hoặc khá nhiều URI, mà không cần Regex.
//www.php.net/manual/en/function.explode.php
Nếu bạn muốn một chức năng:
example.com
example.com/topic/
example.com/topic/cars/
www.example.com/topic/questions/
2Chỉnh sửa: Xem bình luận của người dùng từ Harry Lewis ... Đây là cách yêu thích của tôi để làm điều này ngay bây giờ.
Đã trả lời ngày 26 tháng 2 năm 2020 lúc 12:17Feb 26, 2020 at 12:17
mike-sourcemike-sourcemike-source
9843 Huy hiệu vàng15 Huy hiệu bạc 30 Huy hiệu Đồng3 gold badges15 silver badges30 bronze badges
5
Bạn có thể xóa cả HTTPS và HTTP trong một dòng bằng cách sử dụng biểu thức thông thường với
$url = preg_replace["[^https?://]", "", $url ];
3:example.com
example.com/topic/
example.com/topic/cars/
www.example.com/topic/questions/
3- Biểu thức thông thường:
4 Kiểm tra và giải thích [regex101.com]$url = preg_replace["[^https?://]", "", $url ];
Hakre
187K48 Huy hiệu vàng419 Huy hiệu bạc805 Huy hiệu đồng48 gold badges419 silver badges805 bronze badges
Đã trả lời ngày 6 tháng 2 năm 2012 lúc 18:38Feb 6, 2012 at 18:38
Minazminazminaz
5.6101 Huy hiệu vàng31 Huy hiệu bạc29 Huy hiệu đồng1 gold badge31 silver badges29 bronze badges
1
Bạn có thể sử dụng chức năng phân tích cú pháp của PHP. Điều này sẽ hoạt động cho tất cả các giao thức, thậm chí FTP: // hoặc //
Eiter lấy thành phần giao thức và cơ sở từ URL, hoặc chỉ nối các phần khác lại với nhau ...
//php.net/manual/de/function.parse-url.php
Đã trả lời ngày 5 tháng 12 năm 2010 lúc 16:29Dec 5, 2010 at 16:29
Paul Weberpaul WeberPaul Weber
6.3203 Huy hiệu vàng39 Huy hiệu bạc51 Huy hiệu Đồng3 gold badges39 silver badges51 bronze badges
example.com
example.com/topic/
example.com/topic/cars/
www.example.com/topic/questions/
4
HALFER
Huy hiệu vàng 19.6K1717 gold badges92 silver badges176 bronze badges
Đã trả lời ngày 25 tháng 7 năm 2015 lúc 14:09Jul 25, 2015 at 14:09
OpenWebWaropenWebwarOpenWebWar
5847 Huy hiệu bạc15 Huy hiệu Đồng7 silver badges15 bronze badges