2012-03-26 10 views
20

estado tratando de google una respuesta, pero parece que no puede encontrar nada, Tengo el siguiente ...PHP Implode envoltura en las etiquetas

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

quiero para envolver todos y cada $value en una etiqueta span pero im seguro cómo ...

he intentado,

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

sin suerte, alguien me puede dar una idea de donde im que va mal?

+3

'valor $ = '' .implode (',', $ values). ' '; ' – PeeHaa

+2

El comentario anterior es incorrecto. Que debería ser ', ' en implosión – DarkSide

Respuesta

43

De esta manera se está envolviendo todo el conjunto en un solo tramo, hay que añadir el cierre/apertura de la etiqueta a la implosión:

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

Ahh gracias Darhazer! – Liam

+1

Solo mencionar: con la matriz vacía '$ tags' se convertiría en la cadena' '. –

+1

FLIP Los parámetros de implosionar y entonces es correcto, debería ser: implosión (', ', los valores $) – h00ligan

7

Puede utilizar array_map función, smth como esto:

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

Fin a continuación, sólo implosionar con ,.

7

Básicamente, esto sólo implosiona sus valores, utilizando el 'pegamento' de la amplitud cerrada/abierta, y lo envuelve por lo que los primeros y los últimos artículos tienen su inicio/final se extiende por tags:

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