
22.06.2008, 15:12
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
С нами:
9443906
Репутация:
3313
|
|
Сообщение от spamoney
Всем привет! Помогите решить следующую проблему:
есть строка:
Код:
Текст__Текст_текст2текст3_текст4____текст
как сделать так, что бы если идут сразу два или более нижних подчерка (_), то они заменялись на один, т.е строку которая приведена выше надо изменить так:
Код:
Текст_Текст_текст2текст3_текст4_текст
p.s
Текст естественно всегда разный и местоположение и кол-во _ тоже
PHP код:
<?php
$str='Текст__Текст_текст2текст3_текст4____текст';
$str= preg_replace("/_+/","_",$str);
echo $str;
?>
|
|
|

22.06.2008, 15:11
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами:
10393869
Репутация:
2032
|
|
$str = preg_replace('/[_]+/','_',$str);
|
|
|

22.06.2008, 15:16
|
|
Участник форума
Регистрация: 26.12.2006
Сообщений: 107
С нами:
10196899
Репутация:
27
|
|
ChaaK, Piflit большое спасибо, работает!
Последний раз редактировалось spamoney; 22.06.2008 в 15:20..
|
|
|

22.06.2008, 15:37
|
|
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
С нами:
9454841
Репутация:
504
|
|
появилась еще такой вопрос... собственно сабж..
пользователь задает кол-во символов. надо составить лист слудующего вида
Код:
aaaaaa
aaaaab
aaaaac
aaaaad
......
zzzzzw
zzzzzx
zzzzzy
zzzzzz
где каждая последовательность символов длинной, которую задал пользователь...
много думал над реализацией... ничего не получается... если только под каждое количество символов писать скрипт, но это не дело...
Последний раз редактировалось gisTy; 22.06.2008 в 15:43..
|
|
|

22.06.2008, 15:59
|
|
Познавший АНТИЧАТ
Регистрация: 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]); }
?>
? Или я не правильно понял...
|
|
|

22.06.2008, 16:04
|
|
Постоянный
Регистрация: 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();
?>
|
|
|

22.06.2008, 16:09
|
|
Постоянный
Регистрация: 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>';
}
?>
Вроде правильно))
|
|
|

22.06.2008, 16:10
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
С нами:
9840758
Репутация:
808
|
|
PHP код:
<pre>
<?php
$s = 'aaa';
do { echo $s, "\n"; } while($s++ !== 'zzz')
?>
</pre>
Только вот для шести символов список будет весить мегабайт 500
|
|
|

22.06.2008, 17:25
|
|
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
С нами:
9454841
Репутация:
504
|
|
эм... черт.. забыл про $s++ спс всем=)
еще вопрос.. а можно как нибудь добавить поддержку цифр? чтобы в генерации учавствовали не только буквы, но и цыфры
|
|
|

22.06.2008, 19:36
|
|
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..
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 6 (пользователей: 0 , гостей: 6)
|
|
|
|