Tôi cần có được từ cuối cùng từ một url. Vì vậy, ví dụ tôi có URL sau:
//www.mydomainname.com/m/groups/view/test
Tôi chỉ cần nhận được với PHP chỉ "kiểm tra", không có gì khác. Tôi đã cố gắng sử dụng một cái gì đó như thế này:
$words = explode[' ', $_SERVER['REQUEST_URI']];
$showword = trim[$words[count[$words] - 1], '/'];
echo $showword;
Nó không hiệu quả với tôi. Bạn co thể giup tôi được không?
Cảm ơn bạn rất nhiều!!
Chứng mất trí
3.9893 huy hiệu vàng25 Huy hiệu bạc34 Huy hiệu đồng3 gold badges25 silver badges34 bronze badges
Khi được hỏi ngày 7 tháng 5 năm 2011 lúc 12:35May 7, 2011 at 12:35
1
Sử dụng basename với parse_url:
echo basename[parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH]];
Đã trả lời ngày 7 tháng 5 năm 2011 lúc 12:47May 7, 2011 at 12:47
Sanjarysanjarysanjary
1.2061 huy hiệu vàng9 Huy hiệu bạc1 gold badge9 silver badges10 bronze badges
0
bằng cách sử dụng regex:
preg_match["/[^\/]+$/", "//www.mydomainname.com/m/groups/view/test", $matches];
$last_word = $matches[0]; // test
Đã trả lời ngày 7 tháng 5 năm 2011 lúc 12:53May 7, 2011 at 12:53
Fardjadfardjadfardjad
Huy hiệu vàng 19,6K66 gold badges50 silver badges67 bronze badges
1
Bạn có thể sử dụng
echo basename[parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH]];
0 nhưng bạn cần sử dụng echo basename[parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH]];
1 làm dấu phân cách:$segments = explode['/', $_SERVER['REQUEST_URI']];
Lưu ý rằng
echo basename[parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH]];
2 có thể chứa chuỗi truy vấn nếu URI hiện tại có một. Trong trường hợp đó, bạn nên sử dụng echo basename[parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH]];
3 trước đây để chỉ nhận được đường dẫn: $_SERVER['REQUEST_URI_PATH'] = parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH];
Và để tính đến các dấu gạch chéo vào tài khoản, bạn có thể sử dụng
echo basename[parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH]];
4 để loại bỏ chúng trước khi chia nó vào các phân đoạn của nó bằng echo basename[parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH]];
0. Vì thế:$_SERVER['REQUEST_URI_PATH'] = parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH];
$segments = explode['/', rtrim[$_SERVER['REQUEST_URI_PATH'], '/']];
Đã trả lời ngày 7 tháng 5 năm 2011 lúc 12:39May 7, 2011 at 12:39
GumbogumboGumbo
630K107 Huy hiệu vàng768 Huy hiệu bạc838 Huy hiệu đồng107 gold badges768 silver badges838 bronze badges
Để làm điều đó, bạn có thể sử dụng
echo basename[parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH]];
0 trên ________ 17. Tôi đã thực hiện một số chức năng đơn giản:function getLast[]
{
$requestUri = $_SERVER['REQUEST_URI'];
# Remove query string
$requestUri = trim[strstr[$requestUri, '?', true], '/'];
# Note that delimeter is '/'
$arr = explode['/', $requestUri];
$count = count[$arr];
return $arr[$count - 1];
}
echo getLast[];
OskarD90
5841 Huy hiệu vàng5 Huy hiệu bạc26 Huy hiệu đồng1 gold badge5 silver badges26 bronze badges
Đã trả lời ngày 7 tháng 5 năm 2011 lúc 12:38May 7, 2011 at 12:38
RobikrobikRobik
5.9574 Huy hiệu vàng30 Huy hiệu bạc41 Huy hiệu Đồng4 gold badges30 silver badges41 bronze badges
2
Nếu bạn không bận tâm đến một chuỗi truy vấn được bao gồm khi có mặt, thì chỉ cần sử dụng
echo basename[parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH]];
8. Bạn cũng không cần phải sử dụng echo basename[parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH]];
3.$url = '//www.mydomainname.com/m/groups/view/test';
$showword = basename[$url];
echo htmlspecialchars[$showword];
Khi biến
preg_match["/[^\/]+$/", "//www.mydomainname.com/m/groups/view/test", $matches];
$last_word = $matches[0]; // test
0 được tạo từ đầu vào của người dùng hoặc từ echo basename[parse_url[$_SERVER['REQUEST_URI'], PHP_URL_PATH]];
2; Trước khi sử dụng preg_match["/[^\/]+$/", "//www.mydomainname.com/m/groups/view/test", $matches];
$last_word = $matches[0]; // test
2 sử dụng preg_match["/[^\/]+$/", "//www.mydomainname.com/m/groups/view/test", $matches];
$last_word = $matches[0]; // test
3 hoặc preg_match["/[^\/]+$/", "//www.mydomainname.com/m/groups/view/test", $matches];
$last_word = $matches[0]; // test
4, nếu không người dùng có thể thêm thẻ preg_match["/[^\/]+$/", "//www.mydomainname.com/m/groups/view/test", $matches];
$last_word = $matches[0]; // test
5 hoặc chạy preg_match["/[^\/]+$/", "//www.mydomainname.com/m/groups/view/test", $matches];
$last_word = $matches[0]; // test
6 trên trang web.Đã trả lời ngày 15 tháng 7 năm 2018 lúc 12:11Jul 15, 2018 at 12:11
Dan Braydan BrayDan Bray
6.8203 Huy hiệu vàng50 Huy hiệu bạc66 Huy hiệu Đồng3 gold badges50 silver badges66 bronze badges
sử dụng preg*
if [ preg_match[ "~/[.*?]$~msi", $_SERVER[ "REQUEST_URI" ], $vv ]]
echo $vv[1];
else
echo "Nothing here";
Đây chỉ là ý tưởng của mã. Nó có thể được viết lại trong chức năng.
PS. Nói chung, tôi sử dụng mod_rewrite để xử lý quy trình này ... ANS trong PHP các biến $ _GET. Và đây là thực hành tốt, IMHOmod_rewrite to handle this... ans process in php the $_GET variables. And this is good practice, IMHO
Đã trả lời ngày 7 tháng 5 năm 2011 lúc 12:48May 7, 2011 at 12:48
publikz.compublikz.compublikz.com
9231 Huy hiệu vàng12 Huy hiệu bạc21 Huy hiệu đồng1 gold badge12 silver badges21 bronze badges
ex: $url = '//www.youtube.com/embed/ADU0QnQ4eDs';
$url = "//$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$url_path = parse_url[$url, PHP_URL_PATH];
$basename = pathinfo[$url_path, PATHINFO_BASENAME];
// **output**: $basename is "ADU0QnQ4eDs"
Giải pháp hoàn chỉnh Bạn sẽ nhận được trong liên kết dưới đây. Tôi chỉ tìm thấy để có được từ cuối cùng từ URL sau khi chém trong PHP.
Nhận tham số cuối cùng của URL trong PHP
Đã trả lời ngày 25 tháng 4 năm 2016 lúc 9:26Apr 25, 2016 at 9:26
0