我需要一些帮助。我有一个显示关键字“tags”的部分:
<?=str_replace(",",",",$line["m_tags"])?>
上面的代码如下所示
标签:KEYWORD1,KEYWORD2,KEYWORD3
我要做的就是让每个人KEYWORD
成为链接回主页的超链接。
任何帮助将不胜感激。
答案 0 :(得分: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 , */
Felix Kling指出的更短的选择:
$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 :(得分: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);
?>
答案 2 :(得分:0)
我可能会这样做。
$str = "KEYWORD1,KEYWORD2,KEYWORD3";
$keywords = explode(',', $str);
$links = array();
foreach($keywords as $keyword) {
$links[] = "<a href='home'>$keyword</a>";
}
echo implode(', ', $links);