Forum Webscript.Ru

Программирование => PHP => Тема начата: lbpf от 20 Ноября 2003, 10:42:36

Название: Как написать рег. выражение
Отправлено: lbpf от 20 Ноября 2003, 10:42:36
Исходная строка  $str="
количество пробелов  - $level=4;

надо получить "[пробелы]{$level}


как это сделать,
 это типа для отступов при выводе дерева
Название: Как написать рег. выражение
Отправлено: Меняздесьдавнонет от 20 Ноября 2003, 11:08:23
А регулярное тебе зачем?
Операция умножения в РНР обозначается символом *, а сложения строк - .
И с каких пор в html пробелы делают отступы?
Название: Как написать рег. выражение
Отправлено: AliMamed от 20 Ноября 2003, 11:08:58
регулярные выражения тут не при чем, если я правильно понял вопрос, тебе нужно использовать [p]str_pad[/p]
Название: Как написать рег. выражение
Отправлено: Меняздесьдавнонет от 20 Ноября 2003, 11:15:23
зависит от строки.
Скорее всего - да, этот ахреф стоит в начале. Но не обязательно. поэтомуу может понадобться Str_replace
Название: Как написать рег. выражение
Отправлено: AliMamed от 20 Ноября 2003, 11:23:35
ну еще много чо может понадобиться.=))
смысел в том, что lbpf-у надо подумать, а то он видно решил, что регулярные выражения это универсальная панацея, для работы со строками и достаточно заказать ее на форуме, вместо того, чтобы подумать самому и поковыряться на [p]strings[/p]
Название: Как написать рег. выражение
Отправлено: lbpf от 20 Ноября 2003, 11:45:57
Интересно,
я пробую вариант с php.net:
[PHP]
$input = "Alien";
print str_pad($input, 10, "-=", STR_PAD_LEFT);  

выводит "-=-=-Alien"

а затем пробую со своей ссылкой

    $string="
$categories[0]";
    $string=str_pad($string, 10, "-=", STR_PAD_LEFT);  
    print "$str
";

выводит только мою ссылку

Почему?
Название: Как написать рег. выражение
Отправлено: AliMamed от 20 Ноября 2003, 12:23:28
патамушта твоя ссылка длинее 10 символов или равна им. читай внимательно описание параметров
Название: Как написать рег. выражение
Отправлено: Меняздесьдавнонет от 20 Ноября 2003, 13:17:07
из чего следует, что стры_пад ему не подходит, гы-гы :-)

а надо ему - echo str_repeat(" ", $level).$string;

:-)
Название: Как написать рег. выражение
Отправлено: FreeSpace от 20 Ноября 2003, 20:49:14
А может человеку нужно что-то типа такого?
function str_ident($string, $char = \' \', $count = 4) {
    $ident = str_repeat($char, $count);
    return $ident.str_replace("\\n", "\\n".$ident, $string);
}

$input  = file_get_contents(__FILE__);
$output = str_ident($input);
echo \'
\'.htmlspecialchars($output).\'
\';
Название: Как написать рег. выражение
Отправлено: lbpf от 21 Ноября 2003, 03:50:21
Я решил с помощью str_repeat сделать

    $level=..
    $string="$categories[0]";
    print str_repeat(" ", $level)."•$string
\\n";


вроде работает, правда при большой глубине дерева появляется большое кол-во  
Название: Как написать рег. выражение
Отправлено: FreeSpace от 21 Ноября 2003, 04:47:51
Цитировать
lbpf:
правда при большой глубине дерева появляется большое кол-во  

А чем ты не доволен?
Весь смысл функции str_repeat в том, что между количеством повторов и длинной возвращаемой строки установлена прямая зависимость.
Название: Как написать рег. выражение
Отправлено: lbpf от 21 Ноября 2003, 05:44:28
нормально все, это уже вопросы форматирования


всем большое спасибо
Название: Как написать рег. выражение
Отправлено: AlieN от 24 Ноября 2003, 08:59:50
Цитировать
lbpf:
$input = "Alien";


[OFF]Как чё, так сразу же моё имя давай использовать2[/OFF]