这是我的代码:
<?php
$path = "monkey/cat/horse";
$linkPath = str_replace("/", "</a><br><a href='my page.html/".$path."'>", $path);
echo "<a href='my page.html/".$path."'>".$linkPath . "</a>";
?>
在我的页面上输出:
<a href='my page.html/monkey/cat/horse'>monkey</a><br>
<a href='my page.html/monkey/cat/horse'>cat</a><br>
<a href='my page.html/monkey/cat/horse'>horse</a>
现在我的问题是,如果希望链接只是值的路径。这意味着我想要的结果应该是
<a href='my page.html/monkey'>monkey</a><br>
<a href='my page.html/monkey/cat'>cat</a><br>
<a href='my page.html/monkey/cat/horse'>horse</a>
答案 0 :(得分:2)
str_replace()
不是正确的方法。
$path = "monkey/cat/horse";
$level = '';
foreach(explode('/', $path) as $segment) {
$level .= "/{$segment}";
echo "<a href='my page.html{$level}'>{$segment}</a>";
}
会回应
<a href='my page.html/monkey'>monkey</a>
<a href='my page.html/monkey/cat'>cat</a>
<a href='my page.html/monkey/cat/horse'>horse</a>
修改强>
是否可以将最后一段不作为链接
是的,但你应该先尝试自己......
$level = '';
$tmp = explode('/', $path);
$count = count($tmp);
for($i=0; $i<($count-1); $i++) {
$segment = $tmp[$i];
$level .= "/{$tmp[$i]}";
echo "<a href='my page.html{$level}'>{$tmp[$i]}</a>";
}
echo $tmp[$count-1];