Forum Webscript.Ru

Программирование => PHP => Тема начата: Сергей Иванов от 09 Мая 2006, 10:49:25

Название: Можно ли короче?
Отправлено: Сергей Иванов от 09 Мая 2006, 10:49:25

    function ChopText($text_data)
    {
       $text_data=str_replace("\\r", "",$text_data);
       $text_data=str_replace("   ", " ",$text_data);
       $text_data=str_replace("  ", " ",$text_data);
       $text_data=str_replace("\\n ", "\\n",$text_data);
       $text_data=str_replace("\\n ", "\\n",$text_data);
       $text_data=str_replace("\\n\\n\\n\\n", "\\n",$text_data);
       $text_data=str_replace("\\n\\n\\n", "\\n",$text_data);
       $text_data=str_replace("\\n\\n", "\\n",$text_data);
       $text_data=str_replace("\\n\\n", "\\n",$text_data);
       $text_data=str_replace("\\n", "\\n\\n",$text_data);
       if(substr($text_data,0,2)==="\\n\\n")
       $text_data=substr($text_data,2);
       if(substr($text_data,-2)==="\\n\\n")
       $text_data=substr($text_data,0,-2);
       return $text_data;
    }
 

можно ли как-то короче это написать? одним красивым регулряным выражением?
Название: Можно ли короче?
Отправлено: vasa_c от 11 Мая 2006, 13:51:55
/\\ +/ - последовательность из 1 или более пробелов.
/\\n+/ - последовательность \\n
/^\\n\\n/ - два \\n в начале
/\\n\\n$/ - два \\n в конце

4 рега а не один, но зато красивые и короткие.
Кстати, str_replace может принимать в аргументах массивы, чтобы не писать несколько вызовов подряд.
Название: Можно ли короче?
Отправлено: Сергей Иванов от 11 Мая 2006, 15:39:32
спасибо, Брат! как отрадно встретить человека, которому тоже небезразличен фактор красоты в таком казалось бы абсолютно безжизненном занятии как кодинг. значит мы с тобой живые