php 去除重复的字符串程序代码

正则表达式

 代码如下 复制代码

echo preg_replace("/([^s]+)*\1{2,}([^s]+)*/",'',$string);

用循环我给写了个

例1

 代码如下 复制代码

$str = 'abccba 9872223s 12121212 ddd 1234560 vbwwc asasasasas zxzx qaz';
$source_array = explode(" ", $str);
foreach($source_array as $key=>$item){
    $current_str = str_split($item, 1);
    $current_array=array_count_values($current_str);    
    foreach ($current_array as $k => $it){
            if($it>=3)
                unset($source_array[$key]);
    }
}
var_dump($source_array);

例2

 代码如下 复制代码

<?php
$str = '蚂蚁蚂蚁学院学院,我非常爱爱爱爱爱你!522200011111333311111444';
function mbstringtoarray($str,$charset) {
  $strlen=mb_strlen($str);
  while($strlen){
    $array[]=mb_substr($str,0,1,$charset);
    $str=mb_substr($str,1,$strlen,$charset);
    $strlen=mb_strlen($str);
  }
  return $array;
}
$arr = mbstringtoarray($str,"gbk");  //分割字符串
$arr = array_unique($arr);           //过滤重复字符
$str = implode('', $arr);            //合并数组
echo $str;
?>

另一种办法

preg_replace_callback() 就更简单了,不过 preg_replace() 可以使用e修饰符来实现PREG_REPLACE_EVAL,能达到

差不多的效果

 代码如下 复制代码

echo preg_replace('/([^s]+)/e','check("\1")',$string); 
function check($str) { 
       $tmp=count_chars($str,1); 
       sort($tmp); 
       return array_pop($tmp)>2?"":$str; 
 }

时间: 2024-08-01 11:46:56

php 去除重复的字符串程序代码的相关文章

PHP生成随机字符串程序代码

利用for循环把我们定义好的字符遍历即可  代码如下 复制代码 <?php /* Generate Password * Length : 8 */ $str = "0123456789abcdefghijklmnopqrstuvwxyz";   //   输出字符集 $n = 8;   //   输出串长度 $len = strlen($str)-1; for($i=0 ; $i<$n; $i++){ $s .=  $str[rand(0,$len)]; } echo $

perl去除重复内容的脚本代码(重复行+数组重复字段)_应用技巧

假如有这样的一段序列:1 2  1 2  2 1  1 3  1 4  1 5  4 1 我们需要得到如下的结果:1 3  1 5  2 1  4 1 那么,请借助以下的perl脚本来实现. 代码一: 复制代码 代码如下: #!/bin/perluse strict;  use warnings;  my $filename;  my %hash;  my @information;  my $key1;  my $key2;  print "please put in the file lik

PHP中数组转换成json字符串程序代码

 代码如下 复制代码 function array_to_json($array) {  if (! is_array ( $array )) {   return false;  }    $associative = count ( array_diff ( array_keys ( $array ), array_keys ( array_keys ( $array ) ) ) );  if ($associative) {     $construct = array ();   for

php中防止重复提交数据程序代码

利用session来操作  代码如下 复制代码 <?php  session_start();  $_SESSION['num'] = 0;  if(isset($_POST['action'] && $_POST['action']=='submit')){   if($_SESSION['num'] == 0){    echo '<a href="'.$_SERVER['PHP_SELF'].'">'请再次尝试</a>;'    $_

JS去除重复的字符串内容三种方法

例1  代码如下 复制代码 String.prototype.repeatOpt = function () {    var str = this + "",objStr = "";    for (var i = 0; i < this.length; i++) {        var s = str[i];        var newStr = str.replace(s, '');        var j = newStr.indexOf(s);

php去除重复字的实现代码_php技巧

方法一: 复制代码 代码如下: $text = '数组aabbccdd'; $text_filter = ''; $filter = array(); $len = mb_strlen($text, 'utf-8'); for ($i = 0; $i<$len; $i++) { $char = mb_substr($text, $i, 1, 'utf-8'); if (!isset($filter[$char])) { $text_filter .= $char; $filter[$char]

js 去除重复数组并排序实现代码

例1 常用见的去除重复数组,但不能排序  代码如下 复制代码 Array.prototype.unique1 = function () {     var r = new Array();     label:for(var i = 0, n = this.length; i < n; i++) {         for(var x = 0, y = r.length; x < y; x++) {             if(r[x] == this[i]) {             

js字符串去重复id的实现代码

最近由于需要我们将相关id的重复的去掉,一个是客户端一个后台程序把关,这里分享下js的去重复id的实现代码   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&q

jquery实现去除重复字符串的方法小结_jquery

本文实例总结了jquery实现去除重复字符串的方法.分享给大家供大家参考,具体如下: 这里总结了三种去除重复字符串的方法: 把例子贴上,用jQuery方便些,首先要搭好环境,就是在同一目录下(同一文件夹下)保证有所使用的jquery1.8.1(如果是其他版本就在html代码中作相应改动) 第一: <html> <head> <script src="jquery-1.8.1.js"></script> <SCRIPT LANGUAG