2011-07-07 8 views
-1

私は助けが必要です。 KEYWORD1、KEYWORD2、KEYWORD3`str_replace`を使ってリンクを作成します

私がやろうとしているすべて:上記のコードは、この

タグのように見えます

<?=str_replace(",",",",$line["m_tags"])?> 

:私は、キーワード "タグ" を表示するセクションを持っています各個人にメインページにリンクするハイパーリンクであることがKEYWORDである。 ご協力いただければ幸いです。

+3

あなたの置き換えは意味がありません....あなたは '、'それ自身で置き換えています...( 'str-replace'タグは必要ありませんbtw)。リンクはどのように見えますか? –

+0

あなたのサイトのデータ構造に関する情報はありません。どこからリンクが得られるのでしょうか?そして、@ Felixはstr_replaceが完全に余分であると言った。 –

答えて

2

投稿したコードは何もしません。それは,の代わりに,です。 あなたは正規表現でこれを行うが、ここでは別の方法であることができます:フェリックスクリングが指摘したように

$output = ''; 
$tmp = explode(",",$line['m_tags']); /* convert to array */ 

foreach($tmp as $tag) 
    $output .= '<a href="index.php">'.$tag.'</a>, '; /* put link in output */ 

echo substr($output,0,-2); /* echo output without the last , */ 

短い代替:

$tmp = explode(",",$line['m_tags']); /* convert to array */ 

foreach($tmp as $key => $tag) 
    $tmp[$key] = '<a href="index.php">'.$tag.'</a>'; /* put link back in tmp */ 

echo implode(",",$tmp); 
+1

あなたはもっと速かった: –

+0

より良い: '$ tmp'配列に文字列を戻し、' implode'を使います。 –

+0

ココスはあなたの時間を非常に感謝し、私が探していたものを助けます。 – John

1

を、これは動作するはず次のいずれかの

Tags: <? 
// php5.3 
$tags=explode(",", $line["m_tags"]); 
$tags = array_map(function($tag){ 
    return "<a href='http://www.yoursite.com/?tag=$tag'>$tag</a>"; 
}, $tags); 
echo implode(", ", $tags); 
?> 
+0

4つのスペースでコードをインデントしています。*編集:*ああ、私はすでにそれを編集しました... –

+0

ありがとう、仕事の初心者:)幸い、それはPythonではありません – lcapra

+0

バッククイックインラインコード;) –

0

ここで私はおそらくそれをやるでしょう。

$str = "KEYWORD1,KEYWORD2,KEYWORD3"; 
$keywords = explode(',', $str); 
$links = array(); 
foreach($keywords as $keyword) { 
    $links[] = "<a href='home'>$keyword</a>"; 
} 

echo implode(', ', $links); 
関連する問題