0

使用下面的自定义函数,我的目标是为标签数组的每个元素提供特定链接。我对该函数的输入是一个字符串,如 (tag1, tag2, tag3)。我的输出是(以链接形式)tag1,

“tag1”很好,但为什么我不能得到我期望的结果:“tag1,tag2,tag3”(链接形式)

我在 php.net 和本网站中阅读了有关术语 ( array, explode, for, .=) 的示例,但我无法解决我的问题。

你能指导我吗

function tag_linkify ($article_tags)
{
$array_of_tags = explode(",", $article_tags);
$sayac = count($array_of_tags);
$linked_tags ="";
for ($i=0; $i<$sayac; $i++)
    {
        $linked_tags .= '<a href="'.'">'.$array_of_tags[$i].'</a>, ';
    }
echo substr_replace($linked_tags, '', -1, 2);
}

tag_linkify (tag1,tag2,tag3);

谢谢
问候

4

3 回答 3

1

使用implode

function tag_linkify ()
{
$array_of_tags = get_func_args();;
$sayac = count($array_of_tags);
$linked_tags =array();
for ($i=0; $i<$sayac; $i++)
    {
        $linked_tags[] = '<a href="'.'">'.$array_of_tags[$i].'</a> ';
    }
echo "(".implode(',', $lined_tags).")";
}

tag_linkify (tag1,tag2,tag3);

我希望这可以帮助

于 2013-02-14T13:30:32.830 回答
1

改进 Sedz 帖子:

function tag_linkify ($article_tags)
{
$array_of_tags = explode(",", $article_tags);
echo '<a href="">' . implode('</a>,<a href="">', $array_of_tags) . '</a>';
}

tag_linkify ("tag1,tag2,tag3");

顺便提一句。您的 tag_linkify 调用中的参数错过了它们的引号和

'<a href="'.'">'

真的和

'<a href="">'
于 2013-02-14T13:35:54.400 回答
1

如果我正确理解您的问题,我会这样做:

tag_linkify ($tag1, $tag2, $tag3);

function tag_linkify () 
{

    $tags = get_func_args(); // get all tags in an array
    $final = '';
    // loop through the tags
    forech($tags as $tag)
    {
        // return or echo depends on what you doing with your data
        $final .='<a href="">'. $tag . '</a>'; 
    }

    return $final;
}

获取函数参数

于 2013-02-14T13:42:27.477 回答