Перейти к публикации

И опять фильтр слов


Рекомендованные сообщения

Итак, прошу тех, кто пользуется 6.3. и 6.5 проверсти у себя такой эксперимент:

Добавляем в фильтр слов такие слова

test -> проверка

testing -> проверка

test22 -> проверка

теперь создаем новость и в названии, короткой и полной новости пишем просто слово "проверка"

сохраняем.

Открываем еще раз для редактирования - и что Вы там видите???

Я на 6.3 и 6.5 вижу везде "test"

Т.е. непонятным образом замена работает в обратном порядке....

Проверял на своей 6.5 и соседской 6.3.....

Версия PHP 5.2.2

Какие результаты работы фильтра у Вас?

На 5.7 с этим же набором замен все работает правильно.

Изменено пользователем MSK
Ссылка на сообщение
Поделиться на других сайтах

Возможно мы что-то и не так поняли, провёл тесты по просьбе

У меня слово Проверка ни на что не меняется изначально при отправке новости, но во время редактирования (до отправки на сервер) становится (меняется) на testing (это первое слово из списка замен). При нажатии Сохранить - слово testing так и остаётся testing и при последующем редактировании ничего не меняется. Тесты проводились при добавлении новости из админки, версия 6,3

Версия PHP 4.4.7

Безопасный режим Выключен

Отключенные функции: exec, passthru, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, system, popen, pcntl_alarm, pcntl_exec, pcntl_fork, pcntl_getpriority, pcntl_setpriority, pcntl_signal, pcntl_wait, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, dl, set_time_limit, posix_access, posix_ctermid, posix_get_last_error, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_isatty, posix_kill, posix_mkfifo, posix_mknod, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_strerror, posix_times, posix_ttyname, posix_uname, mb_send_mail

Изменено пользователем Al-x
Ссылка на сообщение
Поделиться на других сайтах

теперь создаем новость и в названии, короткой и полной новости пишем просто слово "проверка"

сохраняем.

Открываем еще раз для редактирования - и что Вы там видите???

Я на 6.3 и 6.5 вижу везде "test"

Т.е. непонятным образом замена работает в обратном порядке....

не вижу никакой проблемы. После того как вы нажмете опять сохранить слово "test" заменится опять на "проверка" при редактировании новость возвращается в исходный вариант, так как она была написана изначально.

http://dle-news.ru/2007/10/15/datalife-eng...al-release.html пункт номер 5

Ссылка на сообщение
Поделиться на других сайтах

Вы видимо не поняли, ИЗНАЧАЛЬНО написал в новости слово "проверка"

после сохранения и после этого входа в редактирование слово "проверка" заменяется на "test"

т.е. замена в обратную сторону работает.

не

"test" заменяется на "проверка" как указано в фильтре,

а

"проверка" на "test"

т.е. сейчас получается так:

если в тексте есть слово НА которое надо заменить нежелательное, то это слово подменяется нежелательным....

Я понял Вашу логику в замене, что бы убрать замененный текст первоначальным значением, но это действенно для вариантов замены слово -> ссылка

А вот если слово -> слово - она в обратку работать не должна.

Универсальность тут видимо не пройдет :)

Скорее всего необходимо добавить параметр к каждой замене в фильтре - делать обратную при редактировании или нет.

Т.к. при входе в редактирование, если в фильтре есть замена "@" на "and" получится так:

правильно указанное мыло "test@test.ru" будет в редактировании видно как "testandtest.ru".

Пишут новости пользователи, которым вообщем-то не надо знать, что на что ты меняешь, особенно это касается тех моментов, когда начинают писать ссылки конкурентов.... И вот тут будет прикольно:

ты в фильтре сделал замену сайта конкурента на свой, а юзер указал в своей новости твой сайт - ссылка на картинку, которая залита на твой сайт, потом начинает этот пост редактировать и??? - все урлы в картинках подменены на адрес конкурента!!! :wacko:

Просто проведите сами такой эксперимент.

Изменено пользователем MSK
Ссылка на сообщение
Поделиться на других сайтах

Вы видимо не поняли, ИЗНАЧАЛЬНО написал в новости слово "проверка

Нет я все правильно понял. Вы же как вы выразились входите в редактирование, и в поле редактирования видите исходный текст. Вы же его видите в поле редактирования а не на сайте. После редактирования и сохранения на сайте вы уже видите опять слово "Проверка".

Вы ходили по ссылке, которую я вам дал? Принципиально изменилось назначение фильтра слов. Если раньше его предназначением являлось менять слово "х**" на звездочки, то теперь его предназначение, это упрощение написания новостей, а именно при при написании определенного краткого ключевого слова, это слово заменяется на его расширенное описание, т.е. "автопарсинг новостей". Фильтр слов, это больше не банальный фильтр нежелательных слов.

Но я начинаю понимать, что никому это не нужно и большинству главное это корректная замена "х**" на звездочки :(

Ссылка на сообщение
Поделиться на других сайтах

Но я начинаю понимать, что никому это не нужно и большинству главное это корректная замена "х**" на звездочки

Нет, обратная замена - это правильное решение - оно облегчает редактирование, НО

Скорее всего необходимо добавить параметр к каждой замене в фильтре - делать обратную при редактировании или нет.

Может внести такие корректировки?

Ссылка на сообщение
Поделиться на других сайтах
Но я начинаю понимать, что никому это не нужно и большинству главное это корректная замена "х**" на звездочки
Всё нормально, я хоть и не пользуюсь, но считаю фильтр хорошим. Вопрос: в фильтре работают регулярные выражения? Если да, то отличный инструмент!
Ссылка на сообщение
Поделиться на других сайтах

в фильтре работают регулярные выражения?

нет, по крайней мере пока

Ссылка на сообщение
Поделиться на других сайтах

может, может, буду думать ....

можете, пока идет процесс размышлений, дать вариант, в котором фильтр в обратку не меняет слова, что бы не оставлять сайт без фильтра...?

Что бы самому не лазить по коду... :)

Ссылка на сообщение
Поделиться на других сайтах

/engine/classes/parse.class.php

удалите

elseif (count($all_words) AND !$encode) {

foreach($all_words as $word_line)
{
$word_arr = explode("|", $word_line);

if ($word_arr[2] != "") {
$find[] = $word_arr[2];
$replace[] = $word_arr[1];
}
}

$source = str_replace($find,$replace,$source);

}[/code]

Ссылка на сообщение
Поделиться на других сайтах

О, оно.

Спасибо.

Изменено пользователем MSK
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...