2011-09-30 129 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( ''));

将删除字符串末尾的最后一个逗号。

相关问题