2012-03-26 13 views
20

próbuje google odpowiedź ale cant wydają się znaleźć niczego, mam następujący ...PHP Implode okład w tagach

<?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>"; 
?> 

Chcę owinąć każdy $value w znaczniku rozpiętości ale jestem pewien jak ...

próbowałem,

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

bez powodzenia, może ktoś dać mi pomysł, gdzie im będzie źle?

+3

'wartość $ = '' .implode (',', $ wartości). ' '; ' – PeeHaa

+2

Powyższy komentarz jest nieprawidłowy. Powinien być ", " w implode – DarkSide

Odpowiedz

43

W ten sposób jesteś zawijania cały zestaw w jednym przedziale, trzeba dodać zamykanie/otwieranie tag do implode:

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

Ahh thankyou Darhazer! – Liam

+1

Wystarczy wspomnieć: z pustą tablicą '$ tags' stanie się ciągiem' '. –

+1

Odwróć parametry implode, a następnie poprawne, powinny być: implode (', ', wartości $) – h00ligan

7

Można wykorzystać array_map funkcji czymś tak:

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

Koniec, a następnie implode z ,.

7

Zasadniczo, to właśnie implodes swoje wartości, za pomocą „kleju” o rozpiętości zamknięty/otwarty i owija go więc pierwsze i ostatnie elementy mają ich początek/zakończenie rozciąga tagi:

$value = "<span>" . implode("</span><span>", $values) . "</span>"; 
Powiązane problemy