2012-03-26 7 views
20

Versucht eine Antwort auf Google, aber kann nicht scheinen, etwas zu finden, ich habe folgende ...PHP Implode Wrap in Tags

<?php 
    $values = array_map('trim', get_post_custom_values($key)); 
    $value = implode($values,', '); 
    echo "<div class='top-meta-vals'>".apply_filters(" $value\n", $value)."</div>"; 
?> 

ich jede $value in einem span-Tag wickeln will, aber im nicht sicher wie ...

ich habe versucht,

<?php 
$value = "<span>".implode($values,', ')."</span>"; 
?> 

ohne Glück, kann mir jemand eine Vorstellung davon, wo im falschen gehen?

+3

'$ value = '' .implode (',', $ Werte). ' '; ' – PeeHaa

+2

Kommentar oben ist falsch. Sollte sein ', ' im implodieren – DarkSide

Antwort

43

Auf diese Weise können Sie den gesamten Satz in einer Spanne wickeln, müssen Sie das Schließen/Öffnen-Tag zum implodieren hinzuzufügen: kann

$value = "<span>".implode('</span>,<span>', $values)."</span>"; 
+0

Ahh danke, Darhazer! – Liam

+1

Nur um zu erwähnen: mit leeren '$ tags' Array würde es' 'Zeichenfolge werden. –

+1

Flip die Parameter zu implode und dann ist es richtig, sollte sein: implode (', ', $ Werte) – h00ligan

7

Sie array_map Funktion verwenden, smth wie folgt aus:

$filter = function($tag){ return '<span>' . $tag . '</span>'; }; 
$spannedTags = array_map($filter, $tags); 

Beenden Sie dann einfach mit , implodieren.

7

Grundsätzlich ist diese implodiert nur Ihre Werte mit Hilfe der ‚Leim‘ der Spanne geschlossen/offen, und wickelt es so die ersten und letzten Elemente ihren Anfang/Ende haben umspannt tags:

$value = "<span>" . implode("</span><span>", $values) . "</span>";