Небольшой скрипт

Тема в разделе "Как сделать...", создана пользователем Npix, 13 сен 2011.

  1. Npix

    Npix

    Регистр.:
    14 ноя 2009
    Сообщения:
    304
    Симпатии:
    49
    Напишите пожалуйста небольшой скрипт. Смысл его что бы он в одной строке находил 2 одинаковых символа и менял их.

    Сам текст структурирован, записан в ТХТ файле.
     
  2. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    884
    Симпатии:
    540
    Извращение больного кодера
    PHP:
    $arr_str = array('qqqqqqqqqqqqqqqqqq 1''qwerty qwerty qwerty qwerty  no');
    foreach(
    $arr_str as $index_str=>$str){
       
    $split str_split($str);
       
    $abc_repeat = array();
       foreach(
    $split as $index_abc => $abc){
            if(!
    trim($abc) ){
                continue;
            }
            if(isset(
    $abc_repeat[$abc])){
                if(!isset(
    $abc_repeat[$abc][1])){
                    
    $abc_repeat[$abc][1] = mt_rand(19);
                    
    $arr_str[$index_str][$abc_repeat[$abc][0]] =  $abc_repeat[$abc][1];
                }
                
               
                
    $arr_str[$index_str][$index_abc] = $abc_repeat[$abc][1];
              continue;
            }
           
    $abc_repeat[$abc] = array($index_abc) ;
        
       }
    }
    print_r($arr_str);
    Конечно можно было замутить через array_split и array_count_values
    но вроде там вычислений побольше.
    PHP:
    $arr_str = array('qwerty q y zxcvb''qwerty qwerty no');

    foreach(
    $arr_str as $index_str=>$str){
       
    $split str_split($str);
       
    $abc_count array_count_values($split);
       foreach(
    $split as $index_abc => $abc){
            if(!
    trim($abc) || $abc_count[$abc] == ){
                continue;
            } 
            
    $arr_str[$index_str][$index_abc] = 'Z';
       }
    }
     
    print_r($arr_str);