2012-03-26 32 views
20

Được cố gắng để google một câu trả lời nhưng không thể dường như để tìm bất cứ điều gì, tôi đã sau ...PHP Thu nhỏ bọc trong thẻ

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

Tôi muốn quấn mỗi $value trong một thẻ div nhưng im không chắc chắn như thế nào ...

tôi đã cố gắng,

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

không có may mắn, bất cứ ai có thể cho tôi một ý tưởng về nơi im đi sai?

+3

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

+2

Nhận xét ở trên là sai. Nên là ', ' trong implode – DarkSide

Trả lời

43

Bằng cách này bạn đang gói toàn bộ nhóm bằng một khoảng thời gian, bạn phải thêm các đóng/mở thẻ vào implode:

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

Ahh thankyou Darhazer! – Liam

+1

Chỉ cần đề cập: với mảng '$ tags' trống, nó sẽ trở thành chuỗi ''. –

+1

Lật các tham số để implode và sau đó nó chính xác, nên là: implode (', ', $ values) – h00ligan

7

Bạn có thể sử dụng array_map chức năng, SMTH như thế này:

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

Kết thúc sau đó chỉ cần kích hoạt với ,.

7

Về cơ bản, điều này chỉ implodes giá trị của bạn, bằng cách sử dụng 'keo' của nhịp đóng/mở, và kết thúc tốt đẹp nó nên mục đầu tiên và cuối cùng có khởi đầu của họ/kết thúc kéo dài tags:

$value = "<span>" . implode("</span><span>", $values) . "</span>"; 
Các vấn đề liên quan