1

我有以下问题:

在我的 Wordpress 3.6 中,我为帖子提供了一个名为:“主题”的自定义字段。该字段由 RSS 自动填充来自另一个网站的短语,并添加多个条件。它是这样填写的:“汽车,自行车,东西,小工具”

当我用 get_posts 查询 wordpress 时,我在我的 foreach 循环中得到了这个:

Cars,Bikes,Stuff,Gadget
Cars,Bikes
Bikes,Stuff
Gadget

我把它放到一个字符串中并替换一些东西:

$topic_filter = get_posts(
 array(
  'numberposts' => -1,
  'post_status' => 'private',
 )
);
$search_topic = array(' ', '-&-', '-|-', '-/-', '---');
$replace_topic = array("-", "-", "-", "-", "-", "");

foreach ($topic_filter as $post_topic) {
$str = str_replace($search_topic, $replace_topic, get_post_meta($post_topic->ID,     'topic', true));

echo $str;

}

最终的 echo putput 是:

Cars,Bikes,Stuff,Gadget,Cars,Bikes,Bikes,Stuff,Gadget

到目前为止,一切都很好。但是现在如何删除重复项?

我尝试了 implode / explode,但它没有做任何事情,因为我认为这些项目位于 foreach 循环中,并且它仅适用于每个帖子的内部。

但我需要 foreach 循环,因为最终目标是将这个清理过的字符串作为一个列表在 html 输出中得到,如下所示:

<input
  type="button"
  value="Cars"
  class="filter-button"

  data-control-type="button-filter"
  data-control-action="filter"
  data-control-name="Cars-btn" 
  data-path=".Cars" 
/>
<input
  type="button"
  value="Bikes"
  class="filter-button"

  data-control-type="button-filter"
  data-control-action="filter"
  data-control-name="Bikes-btn" 
  data-path=".Bikes" 
/>
<input
  type="button"
  value="Gadget"
  class="filter-button"

  data-control-type="button-filter"
  data-control-action="filter"
  data-control-name="Gadget-btn" 
  data-path=".Gadget" 
/>

对我来说似乎很复杂:-(

有任何想法吗?我会很高兴你的帮助!

谢谢!

4

1 回答 1

1

使用array_unique

$str = "Cars,Bikes,Stuff,Gadget,Cars,Bikes,Bikes,Stuff,Gadget";
$r = explode(",", $str);
$unique = array_unique($r);
$new_str = implode(",", $unique);
于 2013-08-23T11:04:54.893 回答