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

Форум PHP

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

 

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

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

тема: Регистрозависимая замена
 
 автор: Лёха   (25.03.2006 в 21:55)   письмо автору
 
 

В общем заморочка с функцией str_replace она собственно регистрозависима а мне надо не регистрозависимую! её аналог str_ireplace вызывает ошибку! Чё делать??? Зарание спасибо!

   
 
 автор: CrazyAngel   (25.03.2006 в 22:08)   письмо автору
 
   для: Лёха   (25.03.2006 в 21:55)
 

можно попробовать рег выражениями

eregi_replace ()

   
 
 автор: cheops   (25.03.2006 в 22:30)   письмо автору
 
   для: Лёха   (25.03.2006 в 21:55)
 

Как правильно пишет CrazyAngel лучше воспользоваться регулярными выражениями (у вас версия PHP меньше 5.0, судя по всему). Что заменяем?

   
 
 автор: Лёха   (25.03.2006 в 23:02)   письмо автору
 
   для: cheops   (25.03.2006 в 22:30)
 

это антимат в чате!

   
 
 автор: Лёха   (25.03.2006 в 23:06)   письмо автору
 
   для: Лёха   (25.03.2006 в 23:02)
 

с eregi_replace получается тоже самое что и с str_replace регистр почему то учитывается!

   
 
 автор: des   (25.03.2006 в 23:29)   письмо автору
 
   для: Лёха   (25.03.2006 в 23:06)
 

Может текстовый файл для проверки подключать лучше. А словарь поплнять

   
 
 автор: Лёха   (25.03.2006 в 23:40)   письмо автору
 
   для: des   (25.03.2006 в 23:29)
 

подключен! только чё теперь писать все слова с разным регистром! :(

   
 
 автор: cheops   (26.03.2006 в 03:09)   письмо автору
 
   для: Лёха   (25.03.2006 в 23:06)
 

Приведите пример, который не срабатывает если не сложно.

   
 
 автор: Лёха   (26.03.2006 в 03:18)   письмо автору
 
   для: cheops   (26.03.2006 в 03:09)
 

вот:
$filemat = file("antimat.txt");
for($i=0;$i<count($filemat);$i++)
{
$qm = explode("::", $filemat[$i]);
$msg=eregi_replace("".$qm[0]."","".$qm[1]."",$msg);
}
$qm[0]-это ищем
$qm[1]-на это заменяем
$msg-сообщение в котором ищем

   
 
 автор: CrazyAngel   (26.03.2006 в 09:43)   письмо автору
 
   для: Лёха   (26.03.2006 в 03:18)
 

Ну конечно не будет работать, так как вы неправильно делаете,

в регулярных надо действовать примерно так

[aA][bB][cC]

   
 
 автор: Лёха   (26.03.2006 в 09:48)   письмо автору
 
   для: CrazyAngel   (26.03.2006 в 09:43)
 

можно поподробнее пожалуйсто! И кстате как посчитать сколько не хороших слов найдено и вывести их число?

   
 
 автор: cheops   (26.03.2006 в 15:11)   письмо автору
 
   для: Лёха   (26.03.2006 в 03:18)
 

Не худо пропустить $qm[0] через функцию preg_quote(), ведь у вас могут быть в тексте спец-символы
<?php
  $filemat 
file("antimat.txt");
  for(
$i=0;$i<count($filemat);$i++)
  {
    
$qm explode("::"$filemat[$i]);
    
$msg=eregi_replace("".preg_quote($qm[0])."","".$qm[1]."",$msg);
  }
?>

   
 
 автор: Лёха   (26.03.2006 в 23:52)   письмо автору
 
   для: cheops   (26.03.2006 в 15:11)
 

как посчитать сколько не хороших слов найдено и вывести их число?

   
Rambler's Top100
вверх

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