Tôi có một con đường như thế này:PHP Làm thế nào để loại bỏ phần cuối cùng của một con đường
parent/child/reply
Làm thế nào để sử dụng PHP để loại bỏ phần cuối cùng của con đường, để nó trông như thế này:
parent/child
Cảm ơn!
Tôi có một con đường như thế này:PHP Làm thế nào để loại bỏ phần cuối cùng của một con đường
parent/child/reply
Làm thế nào để sử dụng PHP để loại bỏ phần cuối cùng của con đường, để nó trông như thế này:
parent/child
Cảm ơn!
dirname($path)
dirname()
. Bạn có thể sử dụng nó nhiều lần như bạn muốn
preg_replace("/\/\w+$/i","",__DIR__);
# Note you may also need to add .DIRECTORY_SEPARATOR at the end.
Dưới đây là một chức năng để loại bỏ các n phần cuối của URL:
/**
* remove the last `$level` of directories from a path
* example 'aaa/bbb/ccc' remove 2 levels will return aaa/
*
* @param $path
* @param $level
*
* @return mixed
*/
public function removeLastDir($path, $level)
{
if (is_int($level) && $level > 0) {
$path = preg_replace('#\/[^/]*$#', '', $path);
return $this->removeLastDir($path, (int)$level - 1);
}
return $path;
}
Thật sao? Biểu thức và đệ quy thông thường? Tại sao không phải là một vòng lặp 'for' với' dirname'? Để đơn giản? – lxg