ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 22.06.2008, 15:12
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
С нами: 9443906

Репутация: 3313


По умолчанию

Цитата:
Сообщение от spamoney  
Всем привет! Помогите решить следующую проблему:

есть строка:
Код:
Текст__Текст_текст2текст3_текст4____текст
как сделать так, что бы если идут сразу два или более нижних подчерка (_), то они заменялись на один, т.е строку которая приведена выше надо изменить так:

Код:
Текст_Текст_текст2текст3_текст4_текст
p.s
Текст естественно всегда разный и местоположение и кол-во _ тоже
PHP код:
<?php
$str
='Текст__Текст_текст2текст3_текст4____текст';
$strpreg_replace("/_+/","_",$str);
echo 
$str;
?>
 
Ответить с цитированием

  #2  
Старый 22.06.2008, 15:11
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами: 10393869

Репутация: 2032


По умолчанию

$str = preg_replace('/[_]+/','_',$str);
 
Ответить с цитированием

  #3  
Старый 22.06.2008, 15:16
spamoney
Участник форума
Регистрация: 26.12.2006
Сообщений: 107
С нами: 10196899

Репутация: 27
По умолчанию

ChaaK, Piflit большое спасибо, работает!

Последний раз редактировалось spamoney; 22.06.2008 в 15:20..
 
Ответить с цитированием

  #4  
Старый 22.06.2008, 15:37
gisTy
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
С нами: 9454841

Репутация: 504


По умолчанию

появилась еще такой вопрос... собственно сабж..
пользователь задает кол-во символов. надо составить лист слудующего вида
Код:
aaaaaa
aaaaab
aaaaac
aaaaad
......
zzzzzw
zzzzzx
zzzzzy
zzzzzz
где каждая последовательность символов длинной, которую задал пользователь...
много думал над реализацией... ничего не получается... если только под каждое количество символов писать скрипт, но это не дело...

Последний раз редактировалось gisTy; 22.06.2008 в 15:43..
 
Ответить с цитированием

  #5  
Старый 22.06.2008, 15:59
Ch3ck
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
С нами: 10485026

Репутация: 1879


По умолчанию

PHP код:
<?php
$mas
=array('aaaaaab','aaaaa','aaaac','zzzzzz','zzzzzzzzzzzw','zzzzzw','zzzzza');
sort($mas);
for(
$i=0$i<count($mas);$i++)
{ echo(
'<br>'.$mas[$i]); }
?>
? Или я не правильно понял...
 
Ответить с цитированием

  #6  
Старый 22.06.2008, 16:04
Dr.Frank
Постоянный
Регистрация: 31.07.2002
Сообщений: 320
С нами: 12513535

Репутация: 187
По умолчанию

скорее так:
PHP код:
<?php
$e
=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
$kol=2;
function 
chis($eee="",$glub=0){
  global 
$e,$kol;
  for(
$q=0;$q<count($e);$q++){
    if(
$glub!=$kol){
      
chis($eee.$e[$q],$glub+1);
    }else{
      echo 
$eee.$e[$q]."<br/>\r\n";
    }
  }
}
chis();

?>
 
Ответить с цитированием

  #7  
Старый 22.06.2008, 16:09
FeraS
Постоянный
Регистрация: 20.01.2007
Сообщений: 705
С нами: 10161726

Репутация: 1329


По умолчанию

Код Др. Франка доделал:
PHP код:
<?php

if ($_REQUEST["strl"]) {
 
$e = array('a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''x''y''z'); 
 
$kol $_REQUEST["strl"]; 

 function 
chis($eee ""$glub 0) { 
  global 
$e$kol

  for(
$q 0$q count($e); $q++) { 
   if(
$glub != $kol) { 
    
chis($eee.$e[$q], $glub 1); 
   }
   else {echo 
$eee $e[$q] . "<br/>\r\n";} 
  } 
 } 
 
chis();
}
else {
 echo 
'
 <form method="post">
 <p><input type="text" name="strl" size="5" /> <input type="submit" value="Вывести" /></p>
 </form>'
;
}

?>
Вроде правильно))
 
Ответить с цитированием

  #8  
Старый 22.06.2008, 16:10
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
С нами: 9840758

Репутация: 808


По умолчанию

PHP код:
<pre>
<?php 

$s 
'aaa';
do { echo 
$s"\n"; } while($s++ !== 'zzz'

?>
</pre>
Только вот для шести символов список будет весить мегабайт 500
 
Ответить с цитированием

  #9  
Старый 22.06.2008, 17:25
gisTy
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
С нами: 9454841

Репутация: 504


По умолчанию

эм... черт.. забыл про $s++ спс всем=)
еще вопрос.. а можно как нибудь добавить поддержку цифр? чтобы в генерации учавствовали не только буквы, но и цыфры
 
Ответить с цитированием

  #10  
Старый 22.06.2008, 19:36
oRb
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
С нами: 9477026

Репутация: 2362
По умолчанию

Цитата:
Сообщение от gisTy  
эм... черт.. забыл про $s++ спс всем=)
еще вопрос.. а можно как нибудь добавить поддержку цифр? чтобы в генерации учавствовали не только буквы, но и цыфры
PHP код:
<?php
ob_implicit_flush
();
set_time_limit(0);
$str "0";
$i 0;
$need false;
while(
$s != "zzz")
{
    while(
1)        
    {
        
$ch ord$str[$i] ) + 1;
        if(
$ch 33)
            
$ch 33;
        if (
$ch 126)
        {
            
$ch 33;
            
$str[$i] = chr($ch);
            
$i++;
            continue;
        }
        
$str[$i] = chr($ch);
        break;
    }
    echo 
$str."\n";
    
$i 0;    
}
?>
Здесь помимо букв и цифр будут генерироваться остальные печатные символы: !@#$%^&*().,:;' "

Последний раз редактировалось oRb; 22.06.2008 в 19:38..
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 6 (пользователей: 0 , гостей: 6)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.