Implodes a list of tags of a certain vocabulary into a string.
function taxonomy_implode_tags($tags, $vid = NULL) {
$typed_tags = array();
foreach ($tags as $tag) {
// Extract terms belonging to the vocabulary in question.
if (!isset($vid) || $tag
->bundle() == $vid) {
// Make sure we have a completed loaded taxonomy term.
if ($tag instanceof EntityInterface && ($label = $tag
->label())) {
// Commas and quotes in tag names are special cases, so encode 'em.
if (strpos($label, ',') !== FALSE || strpos($label, '"') !== FALSE) {
$typed_tags[] = '"' . str_replace('"', '""', $label) . '"';
}
else {
$typed_tags[] = $label;
}
}
}
}
return implode(', ', $typed_tags);
}