所以我有一个这样的值列表:
values: n,b,f,d,e,b,f,ff`我想使用preg_replace()从值列表中删除重复的字符(它将被插入到一个MySQL表中)。b和f是重复的。ff不应算作f,因为它是一个不同的值。我知道\b \b会用来做这件事。我不确定如何去掉重复的b和f值以及每个值之前的,。
发布于 2012-03-09 21:06:28
这不需要使用正则表达式:
join(",", array_unique(split(",", $values)))发布于 2012-03-09 21:06:57
如果列表是一个类似于上面示例的字符串,那么正则表达式就大材小用了。这样做也一样好;
$value = implode(',', array_unique(explode(',', $value)));发布于 2012-03-09 21:08:11
我同意其他评论者的观点,即preg_replace不是可行的方法;但是,既然你问了,你可以这样写:
$str = preg_replace('/\b(\w+),(?=.*\b\1\b)/', '', $str);这将删除给定list-element的最后一个实例以外的所有实例。
https://stackoverflow.com/questions/9634460
复制相似问题