Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> str_replace и регистр, функция типа str_replace не чув. к рег. 
:(
    Опции темы
Mr.Z
Дата 21.5.2005, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.1.2005

Репутация: нет
Всего: нет



Убедительная прозьба дайте функцию типа str_replace, только не чувствительную к регистру.
Нужно для операции вырезки матерных слов в обработчике формы.
Знаю что есть функция str_ireplace, но мой ДЕНВЕР ее не знает.
PM MAIL   Вверх
Illuminaty
Дата 21.5.2005, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

Репутация: 6
Всего: 56



eregi_replace
PM MAIL ICQ   Вверх
Mr.Z
Дата 21.5.2005, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.1.2005

Репутация: нет
Всего: нет



Блин, а побыстрей нечего нет.
PM MAIL   Вверх
Aliance
Дата 21.5.2005, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



В каком плане? Разве она чувствительна по умолчанию?

Смотри так же:
  • substr_replace()
  • ereg_replace()
  • preg_replace()
  • strtr()
http://ru2.php.net/str_replace

Это сообщение отредактировал(а) Aliance - 21.5.2005, 21:43
PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 21.5.2005, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Mr @ 21.5.2005, 22:37)
Знаю что есть функция str_ireplace, но мой ДЕНВЕР ее не знает.

С PHP5.

Цитата(Illuminaty @ 21.5.2005, 22:40)
eregi_replace

preg_replace как альтернатива (в большинстве случаев более быстрая).
PM ICQ   Вверх
Mr.Z
Дата 21.5.2005, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.1.2005

Репутация: нет
Всего: нет



Настолько быстрая что лучьше воспользоваться ей чем str_replaceТЬ каждое слово в отдельном регистре.
PM MAIL   Вверх
Mal Hack
Дата 21.5.2005, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Mr.Z а скажи по русски какую задачу ты решаешь.
PM ICQ   Вверх
Mr.Z
Дата 21.5.2005, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.1.2005

Репутация: нет
Всего: нет



В верху написано надо вырезать матерные слова в обрабодчике формы.
Но поскольку в обработчике формы помимо вырезки матерных слов есть еще ряд функций ...
например определение вэб адреса ссылки , вставка смайликов, и т.п. - обрабодчик рескует быть весьма здоровым. Поэтому хотелось бы его сделать максимально - возможно быстрым.
PM MAIL   Вверх
Mal Hack
Дата 21.5.2005, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Предположим есть массив из матерных слов.
Делаем
Код
preg_replace( "#\s(".implode( "|" , $arr ).")\s#i" , "ОЙ !!!" , $str );

PM ICQ   Вверх
Mr.Z
Дата 21.5.2005, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.1.2005

Репутация: нет
Всего: нет



У меня это выглядет так...
Код

$amsg = stripslashes($amsg);
$amsg = htmlspecialchars($amsg,ENT_QUOTES);
    $amsg = str_replace("[b]","<b>",$amsg);
    $amsg = str_replace("[B]","<b>",$amsg);
    $amsg = str_replace("[/b]","</b>",$amsg);
    $amsg = str_replace("[/B]","</b>",$amsg);
    $amsg = str_replace("[i]","<i>",$amsg);
    $amsg = str_replace("[I]","<i>",$amsg);
    $amsg = str_replace("[/i]","</i>",$amsg);
    $amsg = str_replace("[/I]","</i>",$amsg);
    $amsg = str_replace("[r]","<font color=#FF0000>",$amsg);
    $amsg = str_replace("[R]","<font color=#FF0000>",$amsg);
    $amsg = str_replace("[/r]","</font>",$amsg);
    $amsg = str_replace("[/R]","</font>",$amsg);
    $amsg = str_replace("[g]","<font color=#00B900>",$amsg);
    $amsg = str_replace("[G]","<font color=#00B900>",$amsg);
    $amsg = str_replace("[/g]","</font>",$amsg);
    $amsg = str_replace("[/G]","</font>",$amsg);
    $amsg = str_replace("[s]","<font color=#0000FF>",$amsg);
    $amsg = str_replace("[S]","<font color=#0000FF>",$amsg);
    $amsg = str_replace("[/s]","</font>",$amsg);
    $amsg = str_replace("[/S]","</font>",$amsg);
    $amsg = str_replace("[;-)]","<img src=images/wink.gif border=0>",$amsg);
    $amsg = str_replace("[|:-)]","<img src=images/cool.gif border=0>",$amsg);
    $amsg = str_replace("[:-))]","<img src=images/biggrin.gif border=0>",$amsg);
    $amsg = str_replace("[:-)]","<img src=images/smile.gif border=0>",$amsg);
    $amsg = str_replace("[:-o]","<img src=images/frown.gif border=0>",$amsg);
    $amsg = str_replace("[:o)]","<img src=images/eek.gif border=0>",$amsg);
    $amsg = str_replace("[:-((]","<img src=images/mad.gif border=0>",$amsg);
    $amsg = str_replace("[:-(]","<img src=images/confused.gif border=0>",$amsg);
    $amsg = str_replace("[8-)]","<img src=images/rolleyes.gif border=0>",$amsg);
    $amsg = str_replace("[:-p]","<img src=images/tongue.gif border=0>",$amsg);
    $amsg = str_replace("[;-(]","<img src=images/cry.gif border=0>",$amsg);
    $amsg = str_replace("","...",$amsg);
    $amsg = str_replace("[censored 1] ","...",$amsg);
    $amsg = str_replace("хую","...",$amsg);
    $amsg = str_replace("хуе","...",$amsg);
    $amsg = str_replace("хуё","...",$amsg);
    $amsg = str_replace("[censored 5]","...",$amsg);
    $amsg = str_replace("пидр","...",$amsg);
    $amsg = str_replace("пидер","...",$amsg);
    $amsg = str_replace("пидар","...",$amsg);
    $amsg = str_replace("пидор","...",$amsg);
    $amsg = str_replace("мудак","...",$amsg);
    $amsg = str_replace("мудач","...",$amsg);
    $amsg = eregi_replace("\\[l\\]www.([^\[\(\"']*)\\[/l\\]","<noindex><a href=http://www.\\1 target=_blank>www.\\1</a></noindex>",$amsg);
    $amsg = eregi_replace("\\[l\\]www.([^\[\(\"']*)\\[/L\\]","<noindex><a href=http://www.\\1 target=_blank>www.\\1</a></noindex>",$amsg);
    $amsg = eregi_replace("\\[L\\]www.([^\[\(\"']*)\\[/l\\]","<noindex><a href=http://www.\\1 target=_blank>www.\\1</a></noindex>",$amsg);
    $amsg = eregi_replace("\\[L\\]www.([^\[\(\"']*)\\[/L\\]","<noindex><a href=http://www.\\1 target=_blank>www.\\1</a></noindex>",$amsg);
    $amsg = eregi_replace("\\[l\\]([^\[\(\"']*)\\[/l\\]","<noindex><a href=\\1 target=_blank>\\1</a></noindex>",$amsg);
    $amsg = eregi_replace("\\[l\\]([^\[\(\"']*)\\[/L\\]","<noindex><a href=\\1 target=_blank>\\1</a></noindex>",$amsg);
    $amsg = eregi_replace("\\[L\\]([^\[\(\"']*)\\[/l\\]","<noindex><a href=\\1 target=_blank>\\1</a></noindex>",$amsg);
    $amsg = eregi_replace("\\[L\\]([^\[\(\"']*)\\[/L\\]","<noindex><a href=\\1 target=_blank>\\1</a></noindex>",$amsg);
    $amsg = eregi_replace("\\[l=([^\[\(\"']*)\\]([^\[]*)\\[/l\\]","<noindex><a href=\\1 target=_blank>\\2</a></noindex>",$amsg);
    $amsg = eregi_replace("\\[l=([^\[\(\"']*)\\]([^\[]*)\\[/L\\]","<noindex><a href=\\1 target=_blank>\\2</a></noindex>",$amsg);
    $amsg = eregi_replace("\\[L=([^\[\(\"']*)\\]([^\[]*)\\[/l\\]","<noindex><a href=\\1 target=_blank>\\2</a></noindex>",$amsg);
    $amsg = eregi_replace("\\[L=([^\[\(\"']*)\\]([^\[]*)\\[/L\\]","<noindex><a href=\\1 target=_blank>\\2</a></noindex>",$amsg);
    $amsg = str_replace("\r\n","<br>",$amsg);
    $amsg = str_replace("|","&zwnj;",$amsg);

PM MAIL   Вверх
Mal Hack
Дата 21.5.2005, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



У тебя неправильный подход.. !!!
http://forum.vingrad.ru/index.php?showtopi...view=getnewpost - пример. Надо все одним делать...
PM ICQ   Вверх
Mr.Z
Дата 21.5.2005, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.1.2005

Репутация: нет
Всего: нет



Ты имееш ввиду что если выражения поочередно вынимать из массива и делать замены, то так будет быстрей.
PM MAIL   Вверх
Mal Hack
Дата 21.5.2005, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Mr @ 21.5.2005, 23:16)
Ты имееш ввиду что если выражения поочередно вынимать из массива и делать замены, то так будет быстрей.

нет, я про то, что быстрее будет один РЭГ на все, а замена через call-back функцию.
Правда в твоем случае наиболее оптимально будет BB код сделать так, как я сказал, а мат - одним регуляркой, как показал я выше.
PM ICQ   Вверх
Mr.Z
Дата 21.5.2005, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.1.2005

Репутация: нет
Всего: нет



ладно...
попробую переделать..
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0719 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.