2016-04-26 4 views
0

これは私のコードです:私のページでパスの一部を置換/抽出するにはどうすればよいですか?

<?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

編集あなたの質問コードルックSANE( '$のPATH')を作り、私は'これは私のcode'あるとの出力を生成コードをマーク 'マイresult' –

+0

@MarcinOrlowskiを生成し、あなたの現在のコードを追加すると、あなたは「sane」とは何を意味しますか? – Jarla

+1

あなたは1つの文字列または3つのリンクから3つのリンクが必要ですか? –

答えて

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> 

EDIT

がないリンク

として最後のセグメントを作成することが可能であるエコーうはい、それはですが、あなたはすべき最初に自分自身を試してください...

$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]; 
+0

ああ、うわー!とても素敵です:)ありがとうございました – Jarla

+0

最後の質問は、リンクとしてではなく最後のセグメントを作ることは可能ですか?この場合、「馬」? – Jarla

+1

編集された回答を参照してください。しかし、SOは "私にコードを書く"ではないことに注意してください –

関連する問題