我在wordpress网站上运行这个小功能。但我需要为它添加一些数据。希望我能得到帮助。
Function array_to_comma($data)
{
if (is_array($data) and count($data) > 0)
{
$data = implode(', ', $data);
return $data;
}
}
哪个输出:
Some Data, Some Data, Some Data
但我想添加一些HTML代码,一个跨度,但我不知道如何。所以它在渲染页面的源代码中看起来像这样。我看到它已经添加了一个逗号,但我无法想出添加更多数据,然后只是逗号出现在开头和结尾。像这样:
<span special="codes">Some Data</span>, <span special="codes">Some Data</span>, <span special="codes">Some Data</span>
感谢您的期待!我是一个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;
}
}
答案 0 :(得分:5)
这应该有效:
$result = '<span>'. implode('</span>,<span>', $data) .'</span>';
您可以这样做来添加属性:
$span = '<span special="codes">';
$result = $span . implode('</span>,'. $span, $data) .'</span>';
编辑:可以将其抽象出来以便重复使用:
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>';
答案 1 :(得分:1)
首先添加字符串:
foreach ($data as $key=>$val){
$data[$key] = '<span special="codes">'.$val.'</span>';
}
然后执行你的内爆以获得逗号。
答案 2 :(得分:0)
或者你可以在内爆后修复它:
Function array_to_comma($data)
{
if (is_array($data) and count($data) > 0)
{
foreach($data as $elem)
{
$elem = "<span special=\"codes\">" . $elem . "</span>"
}
$data = implode(', ', $data);
return $data;
}
}