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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фильтр слов 
:(
    Опции темы
Mal Hack
Дата 3.5.2006, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



А если так:
Код
$badWords = file_get_contents("mate.txt");
$mas_com[4] = str_replace($badWords, "**грязно ругается**", $mas_com[4]);

 
PM ICQ   Вверх
IZ@TOP
Дата 3.5.2006, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Mal Hack, ммм... а в файле ж слова разделенные переносом строк... 


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 3.5.2006, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Ах, ну да... Сорри, стормозил... Я бы тут альтернативной регуляркой прошолся бы. 
PM ICQ   Вверх
IZ@TOP
Дата 3.5.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Mal Hack, да уж пробовали - regular expression too long  smile

Добавлено @ 16:59 
Предпологаю что на сервере все прекрасно заработает. У меня во всяком случае проблем не возникло. 


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 3.5.2006, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Надо бы вывести через print_r массив полученных слов и посмотреть. Вероятно он битый.. 
PM ICQ   Вверх
PARROT
Дата 3.5.2006, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

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



Странно, действительно на сервере все заработало: http://pk.traktora.spb.ru/index.php?page=comment&idp=98

(Меня Денвер начинает раздражать..., второй баг уже) 


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Asbestos
Дата 30.6.2006, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Леди и мужики, ситуация следующая: замену в строках произвожу str_ireplace, НО это отказывается воспринимать верхний регистр кириллицы smile Знаю, что дуб и решение простое 

хехе прошу прощения, забыл указать верную локаль 

Это сообщение отредактировал(а) Asbestos - 30.6.2006, 07:48
PM MAIL   Вверх
Gold Dragon
Дата 30.7.2006, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Народ, ещё раз про замену... Что-то код с регуляркой не работает.

$a = array ("aaa", "bbb", "ccc"); // что менять
$b = array ("111", "222", "333"); //yf что менять
$str = "aaa gaaa 1bbb bbb2 ccc qqq bbb! .aaa."; // где менять

в итоге не должны поменяться только "gaaa" и "qqq" 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 30.7.2006, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



А что ты хочешь сделать?
Покажи код. 
PM ICQ   Вверх
Gold Dragon
Дата 30.7.2006, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Mal Hack, я твой пытался запустить

Код

$a = array ("ааа","1234","ёй");
$b = array ("ббб","4321","юй");
$str = "Строка в которой нужно искать и заменять";
$itog = preg_replace ("#(\s\.\-\+\=)(".implode($a,"|").")(\s\.\-\+\=)#is", "\1[censored]\3", $str);


Добавлено @ 17:14 

а так как я в регах ничего не понимаю, так и не разобрался... там явно не хватает $b 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 30.7.2006, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



А тут ты так не сделаешь. Тут надо через preg_replace_callback 
PM ICQ   Вверх
Gold Dragon
Дата 30.7.2006, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Mal Hack, ну тебе виднее, а через preg_replace_callback  как ?
просто через str_replace работает не так. он заменяет внутри слова 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 30.7.2006, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Gold Dragon, поверь, я давно понял почему тебя str_replace не  устраивает smile)

Цитата(Gold Dragon @  30.7.2006,  19:39 Найти цитируемый пост)
ну тебе виднее, а через preg_replace_callback  как ?

Код

function repl( $matches )
{
/*
Тут надо поставиьь в соответствие что на что менять, это раз, а два проверить $matches[1] на не алфавитные символы. Проверь через ctype_*(), может придется и через регулярку.
*/
 return "что надо вернуть";
}
$a = array ("ааа","1234","ёй");
$b = array ("ббб","4321","юй");
$str = "Строка в которой нужно искать и заменять";
$itog = preg_replace_callback("#(\s\.\-\+\=)(".implode($a,"|").")(\s\.\-\+\=)#is", "repl", $str);
 
PM ICQ   Вверх
Gold Dragon
Дата 31.7.2006, 06:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



совсем запутался smile что-то не работает твой код

нужно это
Код

$a = array ("aaa", "bbb", "ccc");
менять на это
Код
$b = array ("111", "222", "333"); 


Mal Hack, зачем мне проверять слова на которые я меняю, ведь это мои слова замены, а не пользовательские?

зы
вот тестовая строка
Код

$str = "aaa gaaa 1bbb bbb2 ccc qqq bbb! .aaa."

 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
GiV
Дата 31.7.2006, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 13.7.2006
Где: rus|53

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



Код

$a = array ("aaa", "bbb", "ccc"); 
$b = array ("111", "222", "333"); 
$str = "aaa gaaa 1aaa bbb2 ccc qqq 3ccc3 bbb! .aaa.";

$str = '~'.$str.'~';

for ($i=0; $i < count($a); $i++) {
    $str = preg_replace("/([^a-z])" . $a[ $i ] . "([^a-z])/ise", "replace('\\1', " . $b[ $i ] . " ,'\\2')", $str);
}

$str = trim($str, '#~');

echo $str;

function replace($pref, $body, $post) {
    return $pref. $body . $post;
}


Должно было работать и без функции replace ($str = preg_replace("/([^a-z])" . $a[ $i ] . "([^a-z])/is", "\\1" . $b[ $i ] . "\\2", $str);), соединяющей куски, но на двух серверах странное поведение было. 
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




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


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

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