2011-09-30 127 views
0

我正在生成Wordpress中的自定義帖子類型的條目列表,在此代碼中,我將一個逗號添加到每個項目的末尾以將其分隔列表中格式,我將如何消除最後的逗號傳播的加法或刪除列表上的最後一個逗號。刪除字符串中的最後一個逗號(PHP/Wordpress)

$terms = get_the_terms($post->ID, 'clients'); 
if ($terms && ! is_wp_error($terms)) : 
$clients_list = array(); 
foreach ($terms as $term) { 
    $clients_list[] = $term->name; 
} 
$clients = join(", ", $clients_list); 
$catTags .= "$clients, "; 
endif; 

我嘗試了以下方法,但沒有成功;

<em><?php $string = $catTags; 
    echo preg_replace("/\,$/","",$catTags); ?></em> 
+0

可能的重複[在PHP中刪除最後一個逗號?](http://stackoverflow.com/questions/7376171/removing-last-comma-in-php) – geoffspear

回答

5

你可以簡單地做:

rtrim($catTags, ', '); 
+1

您確實需要','而不是','因爲你在字符串的末尾有一個額外的空間。我剛剛糾正了它。 – Sagi

+0

謝謝,wordpress正在生成一個空間後,表示很好,謝謝! :D – Xavier

+0

我剛剛意識到這一點,並刪除了我以前的評論哈哈:D – Xavier

0

我最常做的,就是在開始一個循環加一個逗號,通過檢查,如果已經有在可變數據。

因此,在這種情況下是這樣的:

if (strlen($catTags) > 0) 
    $catTags .= ','; 
+0

所以你計算每次迭代的字符串的長度?我認爲最好用一個數組來構建它,然後將這些項加入到分隔符中。 – Sagi

0

這應該工作:

回報SUBSTR($字符串,0,-strlen( ''));

將刪除字符串末尾的最後一個逗號。

相關問題