将html代码添加到php implode函数以返回数据

Ano*_*992 1 php arrays wordpress function implode

我在wordpress网站上运行这个小功能.但我需要为它添加一些数据.希望我能得到帮助.

Function array_to_comma($data)
{

    if (is_array($data) and count($data) > 0) 
    {
        $data = implode(', ', $data);
        return $data;
    }
}
Run Code Online (Sandbox Code Playgroud)

哪个输出:

Some Data, Some Data, Some Data
Run Code Online (Sandbox Code Playgroud)

但我想添加一些HTML代码,一个跨度,但我不知道如何.所以它在渲染页面的源代码中看起来像这样.我看到它已经添加了一个逗号,但我无法想出添加更多数据,然后只是逗号出现在开头和结尾.像这样:

<span special="codes">Some Data</span>, <span special="codes">Some Data</span>, <span special="codes">Some Data</span>
Run Code Online (Sandbox Code Playgroud)

感谢您的期待!我是一个PHP菜鸟:)

编辑:我已成功使用下面的代码.来自elclanrs的回答.

function array_to_comma($data)
{
    if (is_array($data) and count($data) > 0) {
        $data = '<span special="code">'
            . implode('</span>,<span special="code">', $data)
            .'</span>';
        return $data;       
    }
}
Run Code Online (Sandbox Code Playgroud)

elc*_*nrs 5

这应该工作:

$result = '<span>'. implode('</span>,<span>', $data) .'</span>';
Run Code Online (Sandbox Code Playgroud)

您可以这样做来添加属性:

$span = '<span special="codes">';
$result = $span . implode('</span>,'. $span, $data) .'</span>';
Run Code Online (Sandbox Code Playgroud)

编辑:它可以抽象得更多以供重用:

function wrapInTag($arr, $tag='span', $atts='', $sep=',') {
  return "<$tag>". implode("</$tag>$sep<$tag $atts>", $arr) ."</$tag>";
}

// Printing a list
echo '<ul>'. wrapInTag(['one','two','three'], 'li', 'class="item"') .'</ul>';
Run Code Online (Sandbox Code Playgroud)