Forum Webscript.Ru

Программирование => Perl => Тема начата: frenky от 22 Июня 2004, 21:20:40

Название: Убрать сивол перевода строке
Отправлено: frenky от 22 Июня 2004, 21:20:40
Если я через textarea  передаю сообщение как мне из него поубирать переводы на новую строчку?
Название: Убрать сивол перевода строке
Отправлено: Phoinix от 22 Июня 2004, 22:08:11
man Регулярные выражения
perldoc perlre

$text =~s /\\n//g;
Название: Убрать сивол перевода строке
Отправлено: NeoNox от 22 Июня 2004, 22:22:02
Phoinix неа...
perldoc -f chomp
Название: Убрать сивол перевода строке
Отправлено: frenky от 22 Июня 2004, 22:58:21
thanks
Название: Убрать сивол перевода строке
Отправлено: Green Kakadu от 23 Июня 2004, 01:01:56
NeoNox
Цитировать

из perldoc
It\'s often used to remove the newline from the end of an input record

а там textarea -> много строк, много символов новой строки, а не только в конце. chomp не катит
Название: Убрать сивол перевода строке
Отправлено: commander от 23 Июня 2004, 10:53:36
Phoinix
$text =~s/\\n?\\r//g;
Название: Убрать сивол перевода строке
Отправлено: NeoNox от 23 Июня 2004, 11:52:44
Green Kakadu нужно смотреть код и что он с ним дальше делает.
Если построчно обрабатывает то chomp:

Benchmark: timing 6 iterations of CHOMP, RegEx...
     CHOMP:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU) @ 600.00/s (n=6)
     RegEx:  0 wallclock secs ( 0.02 usr +  0.00 sys =  0.02 CPU) @ 300.00/s (n=6)

       Rate RegEx CHOMP
RegEx 300/s    --  -50%
CHOMP 600/s  100%    --
Название: Убрать сивол перевода строке
Отправлено: Green Kakadu от 23 Июня 2004, 12:55:51
2 commander
тогда уж $text =~s/[\\n\\r]//g;

NeoNox
согласен, насчет быстродействия не поспоришь, но сложно представить, чтоб ввод из  textarea ;) разбирался построчно.
Название: Убрать сивол перевода строке
Отправлено: Phoinix от 23 Июня 2004, 12:57:28
NeoNox
Сомневаюсь, что данные переданные из TEXTAREA обрабатываются построчно, т.к. они передаются как скаляр, если только эти данные не перевести в массив:

my @text = sprit(/\\n/,$text);

но тогда отпадает смысл chomp... ;)

commander
[OFF]Да пропустил, не спорю... ;)[/OFF]
Название: Убрать сивол перевода строке
Отправлено: Yaroslav от 22 Марта 2006, 00:27:32
поправлю раз уже нашел :)
@text = split(/\\n/,$text);
Название: Убрать сивол перевода строке
Отправлено: cr4ck3r от 22 Марта 2006, 12:03:57
Как вариант:
$textarea=~s/\\n/
/g;
Так сохраняться переводы строк, если в дальнейшем потребуется использовать оригинальное форматирование для вывода в html.