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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Защита

Сообщения:  [1-10]    [11-20]  [21-29] 

 
 автор: Roo$   (15.08.2006 в 21:56)   письмо автору
 
   для: kasmanaft   (13.08.2006 в 23:09)
 

Все заработало!!! Большое спасибо!!!!!!! А как проверить, что если пользователь ввел мат через пробелы "Д У Р А К".

   
 
 автор: kasmanaft   (15.08.2006 в 07:27)   письмо автору
 
   для: kasmanaft   (15.08.2006 в 07:18)
 

Сорри, перепроверил еще раз: с твоей формой действительно не работает ... я проверял только скрипт, а форму написал сам ....


<form name="name" action="" method="post">
<input name="name" type="text" value="">
<input type="submit" value="GO">
</form>

<?php
$file 
fopen("mat.txt","a+");
fwrite($file,$_POST['name']."\r\n");
fclose($file);
?>

   
 
 автор: kasmanaft   (15.08.2006 в 07:18)   письмо автору
 
   для: Roo$   (14.08.2006 в 22:09)
 

Да все работает ... специально перепроверил ...
попробуй echo $msg; ......... ;))))

/// А почему мы пишим так $pattern[$i] = trim($arr[$i]);
/// а выводим так $msg = str_replace($pattern, $replacement, $msg);
Пишем так, чтобы перебрать и обработать каждое слово из массива (от 0 до count). В итоге получаем практически такой же массив, только в нем в конце слов не будет \r\n .
А в функцию уже подставляем сам массив, чтобы замена шла не конкретного слова (напр. $pattern[2] ), а всех слов что встратятся в массиве
После str_replace получаем строку, где все плохие слова будут заменены на '***'

   
 
 автор: Roo$   (14.08.2006 в 22:09)   письмо автору
 
   для: kasmanaft   (13.08.2006 в 23:09)
 

А почему мы пишим так $pattern[$i] = trim($arr[$i]);
а выводим так $msg = str_replace($pattern, $replacement, $msg);
Хотя я уже пробывал по разному, ничего не получается!

   
 
 автор: Roo$   (13.08.2006 в 23:16)   письмо автору
 
   для: kasmanaft   (13.08.2006 в 23:09)
 

Не работает

   
 
 автор: kasmanaft   (13.08.2006 в 23:09)   письмо автору
 
   для: Roo$   (13.08.2006 в 23:03)
 

Ну эт потому что опять таки маты берутся из файла и вконце стрки стоит знак переноса строки

@setlocale(LC_ALL, array ('ru_RU.CP1251', 'rus_RUS.1251'));
$replacement = "***";
$arr = file("mat.txt");
for($i=0; $i < count($arr); $i++)
{
//printf("%s<br>", $arr[$i]);
$pattern[$i] = trim($arr[$i]);
}
$msg = str_replace($pattern, $replacement, $msg);

   
 
 автор: Roo$   (13.08.2006 в 23:03)   письмо автору
 
   для: kasmanaft   (13.08.2006 в 22:54)
 

$pattern=$arr; Я пробывал... Не работает. Не фильтрует базар

   
 
 автор: kasmanaft   (13.08.2006 в 22:54)   письмо автору
 
   для: Roo$   (13.08.2006 в 22:34)
 

// При каждом добавлении нового мата в файл, образуется пропущенные
// строки, т.к. "\r\n". Можно от это как нибудь избавится?
Эт я не понял )) ....

// Тут то я и "зоблудился"... Помогите, пожалуйсто...
Вот это $pattern=$arr[$i]; , наверное надо заменить на это $pattern=$arr;
(хотя тоже не понятно в чем вопрос.. :))

   
 
 автор: Roo$   (13.08.2006 в 22:34)   письмо автору
 
   для: kasmanaft   (13.08.2006 в 14:43)
 

Добустим я хочу сделать типа формы для допалнения матов в текстовый файл. Вот что у меня получилось:

<form name="name" action="mat.php" method="post">
<input name="name" type="text" value="">
<input type="submit" value="GO">
</form>

<?php
$file = fopen("mat.txt","a+");
fwrite($file,$_POST['name']."\r\n");
fclose($file);
?>

При каждом добавлении нового мата в файл, образуется пропущенные строки, т.к. "\r\n". Можно от это как нибудь избавится?

Теперь следующее... Сама форма для чтения из файла мат.вырожений...

@setlocale(LC_ALL, array ('ru_RU.CP1251', 'rus_RUS.1251'));
$replacement = "***";
$arr = file("mat.txt");
for($i=0; $i < count($arr); $i++)
{
//printf("%s<br>", $arr[$i]);
}
$pattern=$arr[$i];
$msg = str_replace($pattern, $replacement, $msg);

Тут то я и "зоблудился"... Помогите, пожалуйсто...

   
 
 автор: cheops   (13.08.2006 в 16:47)   письмо автору
 
   для: Roo$   (13.08.2006 в 12:35)
 

Под новые вопросы, лучше заводить новые темы.

   

Сообщения:  [1-10]    [11-20]  [21-29] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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