Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Автоцензор, исправление автоцензора

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Lokust
phpBB 1.4.4
Сообщения: 119
Стаж: 17 лет 10 месяцев

Автоцензор, исправление автоцензора

Сообщение Lokust »

Никто не придумал еще, как сделать чтобы автоцензор заменял отельные слова, а не каверкал бы их, выдирая внутри них какую-либо часть?

Пример:
"Употреблять" заменяется на " Употреcensored"
piatachki
phpBB 1.4.2
Сообщения: 56
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Сообщение piatachki »

Пробелы ставить не пробовали перед и после стоп-слова?

Только в таком случае весь мат будет проходить, потому что на любое "выражение" я могу столько словоформ придумать :roll:
This is a man's world (c)
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 10 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик »

А вы в курсе, что в Олимпусе автоцензор для нелатиницы глючный, и когда пофиксят, хз, а по сути, это дело отдали на откуп национальным саппортам?
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
piatachki
phpBB 1.4.2
Сообщения: 56
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Сообщение piatachki »

Поручик
А в смысле он должен и без пробелов в идеале работать?
This is a man's world (c)
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 19 лет 8 месяцев
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Сообщение crash »

в идеале должен работать правильно, сейчас он не работает так как надо
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Сообщение rxu »

Если кто-то очень хорошо дружит с PRCE, поправьте следующую регулярку в includes/cache.php function obtain_word_list() так, чтобы с мультибайтом работало

Код: Выделить всё

				$censors['match'][] = '#(?<!\w)(' . str_replace('\*', '\w*?', preg_quote($row['word'], '#')) . ')(?!\w)#i';
Сразу скажу, что простое добавление модификатора u не спасает.
Изображение
Lokust
phpBB 1.4.4
Сообщения: 119
Стаж: 17 лет 10 месяцев

Сообщение Lokust »

piatachki писал(а):Пробелы ставить не пробовали перед и после стоп-слова?
Только в таком случае весь мат будет проходить, потому что на любое "выражение" я могу столько словоформ придумать
Лично у меня фишка с пробелами тоже не проходит... они просто не сохраняются, как я понял
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2208
Стаж: 16 лет 3 месяца
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 338 раз
Контактная информация:

Сообщение nissin »

возможно поможет вставка вызова

Код: Выделить всё

setlocale(LC_ALL,'ru_RU.UTF-8');
если конечно эта локаль есть у хостера.
Всё повторяется. nurlan.info
Lokust
phpBB 1.4.4
Сообщения: 119
Стаж: 17 лет 10 месяцев

Сообщение Lokust »

nissin писал(а):возможно поможет вставка вызова
А где именно это вставить?
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2208
Стаж: 16 лет 3 месяца
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 338 раз
Контактная информация:

Сообщение nissin »

нашёл попроще решение.
заменить строчку которую rxu несколько постов выше написал на

Код: Выделить всё

				$censors['match'][] = '#(?<!\S)(' . str_replace('\*', '\S*?', preg_quote($row['word'], '#')) . ')(?!\S)#iu';
и не забыть почистить кэш (либо просто удалить /cache/data_word_censors.php).
Всё повторяется. nurlan.info
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Сообщение rxu »

nissin
А со свойствами юникода, например \p{L} и подобными, не пробовали поиграть?
Изображение
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2208
Стаж: 16 лет 3 месяца
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 338 раз
Контактная информация:

Сообщение nissin »

Проверил, оказывается тоже работает.

Код: Выделить всё

				$censors['match'][] = '#(?<!\pL)(' . str_replace('\*', '\pL*?', preg_quote($row['word'], '#')) . ')(?!\pL)#iu';
Последний раз редактировалось nissin 19.01.2008 7:59, всего редактировалось 1 раз.
Всё повторяется. nurlan.info
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Сообщение rxu »

nissin писал(а):даже указание локали ru_RU.UTF-8 ему не помогает.
И не поможет, ибо в includes/utf/utf_tools.php локаль переопределяется заново на

Код: Выделить всё

// Enforce ASCII only string handling
setlocale(LC_CTYPE, 'C');
Вот если её здесь поменять, то будет работать и с "\w".
Изображение
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2208
Стаж: 16 лет 3 месяца
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 338 раз
Контактная информация:

Сообщение nissin »

Я тоже так думал. Но не помогает шабака.
Чукча не дурак, он вызов setlocale перед preg_replace поставил.
А после обратно локаль вернул.

А там менять нельзя, функции UTF8 перестанут нормально работать.
Всё повторяется. nurlan.info
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Сообщение rxu »

Сейчас просто закомментировал, работает... Правда, не уверен, работают ли остальные функции UTF.
Насколько я понимаю, этот вызов setlocale вставлен для страховки, ибо некоторые локали ломают нормальную работу этих функций. Не уверен, что русская локаль относится к таковым ("ломающим").
Изображение
Закрыто

Вернуться в «Поддержка phpBB 3.0.х»