Функция антимат

Печать RSS
35

Автор
Чатланин
0
Страно, либо я что-то не улавливаю, либо что-то не ладное!
файл antimat.dat (В нем хранятся запрещенные слова по строчно)
1 слово
2 слово
3 слово
сама функция:
<?php
function antimat($msg) {
$mat = file("antimat.dat");
foreach ($mat as $value) {
if (!empty($value)) {
$msg = preg_replace("|$value|iu", "***", $msg);
}}
return $msg;
}
?>
в результате заменит "3 слово", а первые два не тронет. если добавить четвертую строку, то его заменит, первые три не тронет. что я нет то делаю?
S

Чатланин
0
делал что то подобное вот таким способом:
<?
function antiman($msg)
{$file=file("antimat.dat");$i=0;
while($i < count($file)){$msg=str_replace(rtrim($file[$i]),'***',$msg);$i++;}
return $msg;} ?>
попробуй так
Автор
Чатланин
0
2. shurik, пасиб smile твоя фильтрует отлично на ура obana пжл, что я все ж не улавливаю, что приведенная функция мною не фибьтрует мат??? sad

Добавлено через 09:17 сек.
2. shurik, собственно в функцию преведенную мною нужно было добавить rtrim() smile с ней все работает. спасибо большое
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск