Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Хочу сделать маленький редактор файлов на сайте.


Автор: Wilmer 19.5.2006, 19:42
Хочу сделать маленький редактор файлов на сайте.
На сервере есть txt файл. Я загружаю его содержимое
между тегами textarea. Затем редактирую.

Проблема в том, что я не знаю как отредактированный
текст сохранить.

Я назначил имя textarea. И после нажатия на кнопку,
в переменной находится все содержимое textarea.

Единственный момент, весь текст имеет вид:
"ww2=%3Cdiv+align%3D%22right%22%3E%3Cfont+color%3D".

Как преобразовать этот текст в читабельный?
Какие есть еще способы?

Добавлено @ 19:44 
Если можно примеры. 

Автор: nitr 19.5.2006, 21:56
естественно регулярные выражения smile
здесь замечательный поиск (на форуме) ни один раз обсудили подобное... 

Автор: sharq 20.5.2006, 12:46
Wilmer, привет  smile 

Цитата(Wilmer @  19.5.2006,  20:42 Найти цитируемый пост)
Проблема в том, что я не знаю как отредактированный
текст сохранить.

Тебе нужно получить его, от формы данные могут быть переданы через GET или POST запросы.

Если через GET, то читай $ENV{'QUERY_STRING'},
если POST, то STDIN 
(это если у тебя скрипт работает под mod_cgi).

Цитата(Wilmer @  19.5.2006,  20:42 Найти цитируемый пост)
Единственный момент, весь текст имеет вид:
"ww2=%3Cdiv+align%3D%22right%22%3E%3Cfont+color%3D".

Это у тебя значение $ENV{'QUERY_STRING'}. Тебе нужно его encode'ировать.
Вот пример:
Код

my $query = "ww2=%3Cdiv+align%3D%22right%22%3E%3Cfont+color%3D";
my $param = {map {split /=/, $_, 2} grep {tr/+/ /;s/%([A-Za-z0-9]{2})/chr hex $1/eg;1} map {split /[&;]/} $query}; # только поля с одинаковыми именами затрутся :)
print $param->{'ww2'};


А чтобы самому не мучаться, делай так:
Код

use strict;
use CGI 'param';

print param('ww2');


 smile  

Автор: Wilmer 21.5.2006, 12:19
sharq, привет  smile 
Все работает. Спасибо, очень помогли. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)