Не могу воткнуть в регулярное выражение

ilkz

Новичок
Не могу воткнуть в регулярное выражение

Блин, чувствую что скоро сойду с ума :) Задачка простейшая. Но я только начал регэкспы изучать. А цель задачки такова. Есть строка текста. В ее начале может быть N пробелов. Требуется заменить ВСЕ эти (т.е., в начале строки) пробелы на   . Вот то, до чего додумался, но ни один из вариантов не пашет.... Мошт объясните почему?

PHP:
1: $fs=ereg_replace('^[[:space:]]+',' ',$fs);
2: $fs=ereg_replace('^[[:space:]+]',' ',$fs);
3: $fs=ereg_replace('^[[:space:]{1,}]+',' ',$fs);
4: $fs=ereg_replace('^[ ]+',' ',$fs);
-~{}~ 01.03.05 17:26:

Ага! тока что заметил, что заменяем-то мы на ОДИН пробел, а не на столько, сколько их стоит вначале строки... это чего же получается - циклы, что-ли, использовать?
 

crocodile2u

http://vbolshov.org.ru
PHP:
if (preg_match("/^(\s+)([^\s].*)/", $str, $matches)) {
    $str = str_replace(" "," ",$matches[1]).$matches[2];
}
 

ilkz

Новичок
Супер! Работает! Спасибо огромное! Буду разбираться как это работает.
 
Сверху