Используйте `str_replace` для создания ссылки
Мне нужна помощь. У меня есть раздел, который отображает ключевые слова "теги":
<?=str_replace(",",",",$line["m_tags"])?>
Код выше выглядит следующим образом
Теги: KEYWORD1, KEYWORD2, KEYWORD3
Все, что я пытаюсь сделать, это иметь каждого человека KEYWORD
быть гиперссылкой для ссылки на главную страницу. Любая помощь будет оценена.
3 ответа
Решение
Код, который вы разместили, ничего не делает, он заменяет ,
с ,
, Вы можете сделать это с помощью регулярных выражений, но здесь есть другой метод:
$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);
Либо это должно работать:
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);
?>
Вот как я, вероятно, сделал бы это.
$str = "KEYWORD1,KEYWORD2,KEYWORD3";
$keywords = explode(',', $str);
$links = array();
foreach($keywords as $keyword) {
$links[] = "<a href='home'>$keyword</a>";
}
echo implode(', ', $links);