Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Изменение текста...
 
 автор: JESS   (26.03.2008 в 16:09)   письмо автору
 
 

Здравствуйте!
К примеру у нас есть текст в текстовом файле, как:
jess::this is::very good::1

как при помощи формы достать и изменить текст "very good" в textarea?

   
 
 автор: mihdan   (26.03.2008 в 16:22)   письмо автору
 
   для: JESS   (26.03.2008 в 16:09)
 


<textarea name="test"><?=file_get_contents('файл.txt');?></textarea>

   
 
 автор: CrazyAngel   (26.03.2008 в 17:13)   письмо автору
 
   для: JESS   (26.03.2008 в 16:09)
 

разобрать сроку по метке ::
explode

   
 
 автор: Shiva   (26.03.2008 в 17:28)   письмо автору
 
   для: JESS   (26.03.2008 в 16:09)
 


<?php
//Форма
$arr explode("::"file_get_contents("FILENAME.txt"));
echo 
"
    <form method='post'>
        <textarea name='text'>"
$arr[2] ."</textarea>
        <input type='submt'>
    </form>"
;
?>

<?php
//Обработчик
$arr explode("::"file_get_contents("FILENAME.txt"));
$arr[2] = trim($_POST['text']);
$open fopen("FILENAME.txt"'w');
fwrite($openimplode("::"$arr));
fclose($open);
?>

   
 
 автор: JESS   (26.03.2008 в 20:10)   письмо автору
 
   для: Shiva   (26.03.2008 в 17:28)
 

Класс то что нужно!!! =P Спасибо!!

   
 
 автор: Atheist_?   (27.03.2008 в 01:59)   письмо автору
 
   для: JESS   (26.03.2008 в 20:10)
 

Осталось добавить, что добавление строки, содержащей "::" к хорошему не приведет. Нужно какое-то эскейпирование сделать:

<?php
function split_string($s$separator)
{
    if( 
strlen($separator) != )
    {
        return 
false;
    }

    for(
$i 0$r] = ''$k 0$i strlen($s); $i++)
    {
        if( 
$s[$i] == '\\' && isset($s[$i 1]) && $s[$i 1] == $separator )
        {
            
$r[$k] .= $separator;
            
$i++;
        }
        else if( 
$s[$i] == $separator )
        {
            
$r[++$k] = '';
        }
        else
        {
            
$r[$k] .= $s[$i];
        }
    }

    return 
$r;
}

$s 'jess:this is:escape "\\:":1';
$s split_string($s':');

// И так далее
?>


P.S. Ну и разделитель, конечно, лучше использовать из одного символа. Например ":". Двойной замедлит код.
P.P.S. Ах да. Перед добавленем сообщения (перед записью) нужно эскейпировать разделитель:

<?php
$s 
str_replace(':''\\:'$s);
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования