在PHP中,我如何根据我所在的位置获取URL相对指标?例子:
Location Return
example.com ./
example.com/sub ../
example.com/sub/sub ../../
...
答案 0 :(得分:2)
考虑上面的例子:
$url = 'example.com/sub/sub/';
$parts = explode('/', $url);
$parts = array_filter($parts, 'strlen');
$path = count($parts) == 1 ? './' : str_repeat('../', count($parts)-1);
此代码忽略空部分和尾部斜杠(例如:example.com//sub/
)。
答案 1 :(得分:1)
不仅仅计算url中的斜杠数量就足够了。您可以使用preg_match_all。
<?php
preg_match_all('/\//',$url,$matches);
echo count($matches);
?>
(未经测试的代码)
答案 2 :(得分:1)
function getDeepness($url){
$lvls = substr_count($url, '/');
if(!$lvls){
return "./";
}
return str_repeat("../", $lvls);
}