The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"антимат - трабла с регистром букв"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"антимат - трабла с регистром букв"
Сообщение от glex emailИскать по авторуВ закладки on 06-Ноя-02, 10:07  (MSK)
Народ, подскажите как быть. Делаю антимат для г.книги.
Сделал такую функцию.
$text - это сам текст, откуда надо маты вырезать.
$badwords - это список плохих слов.

function flt_bdwrd ($text, $badwords)
{
  $bw=explode(" ", $badwords);
  
  foreach ($bw as $badword)
  {
    $text = eregi_replace($badword, "<censored>", $text);
  }
  return $text;
}


Дык вот получается такая штука.
eregi_replace не понимает разный регистр русских букв.
А с английскмми все нормально.
Может кто чего посоветует.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: антимат - трабла с регистром букв"
Сообщение от J Искать по авторуВ закладки on 06-Ноя-02, 15:22  (MSK)
>Народ, подскажите как быть. Делаю антимат для г.книги.
>Сделал такую функцию.
>$text - это сам текст, откуда надо маты вырезать.
>$badwords - это список плохих слов.
>
>function flt_bdwrd ($text, $badwords)
>{
>  $bw=explode(" ", $badwords);
>
>  foreach ($bw as $badword)
>  {
>    $text = eregi_replace($badword, "<censored>", $text);
>  }
>  return $text;
>}
>
>
>Дык вот получается такая штука.
>eregi_replace не понимает разный регистр русских букв.
>А с английскмми все нормально.
>Может кто чего посоветует.


надо правильно настроить локаль в системе

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: антимат - трабла с регистром букв"
Сообщение от glex emailИскать по авторуВ закладки on 10-Ноя-02, 09:03  (MSK)
>>Народ, подскажите как быть. Делаю антимат для г.книги.
>>Сделал такую функцию.
>>$text - это сам текст, откуда надо маты вырезать.
>>$badwords - это список плохих слов.
>>
>>function flt_bdwrd ($text, $badwords)
>>{
>>  $bw=explode(" ", $badwords);
>>
>>  foreach ($bw as $badword)
>>  {
>>    $text = eregi_replace($badword, "<censored>", $text);
>>  }
>>  return $text;
>>}
>>
>>
>>Дык вот получается такая штука.
>>eregi_replace не понимает разный регистр русских букв.
>>А с английскмми все нормально.
>>Может кто чего посоветует.
>
>
>надо правильно настроить локаль в системе

Локаль проавильная.
Я уже нашел чего делать.
Есть такая функция string sql_regcase(string).
Она преобразует строку к такому виду, где каждая буква заменяется парой букв [БОЛЬШАЯмаленькая] в квадратных скобках.
И эту преобразованную строку уже можно подставлять в регулярные выражения.

echo sql_regcase ("Привет, Мир!");
напечатает
[Пп][Рр][Ии][Вв][Ее][Тт], [Мм][Ии][Рр]!

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру