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

Форум PHP

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

 

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

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

тема: Поиск в строке соответствия значений и вызов сценария в зависимости от результата?
 
 автор: Giga   (09.04.2007 в 15:59)   письмо автору
 
 

Сразу извиняюсь. Мозги после Великодня плохо варят. Сценарий следующий.. Выбрал сообщение из базы данных $msg, обработал его пользовательской функцией на устрание матов $msg = delmat($msg); сама функция состоит в замене $mat = array('мат1', 'мат2', 'и так далее'); на массив тех же '***'. Тут возникло желание если в сообщении обнаружен мат снять с юзера баллы (чат). Как правильно и оптимально проверить на наличие значения из массива $mat? Замена то происходит. Если получу результат то далее уже сам справлюсь. А то блин что то такое невообразимое ща сочиняю.

   
 
 автор: cheops   (10.04.2007 в 00:15)   письмо автору
 
   для: Giga   (09.04.2007 в 15:59)
 

Функция str_replace() имеет четвёртый параметр, который возвращает количество замен, которые были произведены в тексте.

   
 
 автор: Giga   (13.04.2007 в 10:47)   письмо автору
 
   для: cheops   (10.04.2007 в 00:15)
 

Спасибо. Только поздно вспомнил о том что тему эту поднял. В очередной раз изобретал велосипед. Вот конструкцию я изобрел методом тыка
include "./am.php"; //массив матов?$cm=count($mat); //посчитаем сколько матов в массиве ?for($i=0; $i<=$cm; $i++) //пустим их в цикл?{?    $checkmat = @strstr("$msg", "$mat[$i]"); //strstr() одна из функций поиска в строке, можно и другие пробовать так как эта хотя и дает нам результат не совсем правильная, поэтому я ее перекрыл собакой?    if($checkmat) // если нашли наличие мата в сообщении?         {?         $msg=str_replace("$mat[$i]","[цензура]",$msg); //заменяем мат на [цензура]?              $ulogin=$login['login'];?      @mysql_query("insert into `".$px.$mtable."` values(0,'Полицай','Нарушение правил $ulogin!','','','".time()."','$room');");? //Вот здесь если нужно можно запустить бот Полицай??

   
Rambler's Top100
вверх

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