MSK 289 Опубликовано: 8 января 2008 Рассказать Опубликовано: 8 января 2008 (изменено) Итак, прошу тех, кто пользуется 6.3. и 6.5 проверсти у себя такой эксперимент: Добавляем в фильтр слов такие слова test -> проверка testing -> проверка test22 -> проверка теперь создаем новость и в названии, короткой и полной новости пишем просто слово "проверка" сохраняем. Открываем еще раз для редактирования - и что Вы там видите??? Я на 6.3 и 6.5 вижу везде "test" Т.е. непонятным образом замена работает в обратном порядке.... Проверял на своей 6.5 и соседской 6.3..... Версия PHP 5.2.2 Какие результаты работы фильтра у Вас? На 5.7 с этим же набором замен все работает правильно. Изменено 8 января 2008 пользователем MSK Цитата Ссылка на сообщение Поделиться на других сайтах
Al-x 7 Опубликовано: 8 января 2008 Рассказать Опубликовано: 8 января 2008 (изменено) Возможно мы что-то и не так поняли, провёл тесты по просьбе У меня слово Проверка ни на что не меняется изначально при отправке новости, но во время редактирования (до отправки на сервер) становится (меняется) на 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 Изменено 8 января 2008 пользователем Al-x Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 9 января 2008 Рассказать Опубликовано: 9 января 2008 теперь создаем новость и в названии, короткой и полной новости пишем просто слово "проверка" сохраняем. Открываем еще раз для редактирования - и что Вы там видите??? Я на 6.3 и 6.5 вижу везде "test" Т.е. непонятным образом замена работает в обратном порядке.... не вижу никакой проблемы. После того как вы нажмете опять сохранить слово "test" заменится опять на "проверка" при редактировании новость возвращается в исходный вариант, так как она была написана изначально. http://dle-news.ru/2007/10/15/datalife-eng...al-release.html пункт номер 5 Цитата Ссылка на сообщение Поделиться на других сайтах
MSK 289 Опубликовано: 9 января 2008 Рассказать Опубликовано: 9 января 2008 (изменено) Автор Вы видимо не поняли, ИЗНАЧАЛЬНО написал в новости слово "проверка" после сохранения и после этого входа в редактирование слово "проверка" заменяется на "test" т.е. замена в обратную сторону работает. не "test" заменяется на "проверка" как указано в фильтре, а "проверка" на "test" т.е. сейчас получается так: если в тексте есть слово НА которое надо заменить нежелательное, то это слово подменяется нежелательным.... Я понял Вашу логику в замене, что бы убрать замененный текст первоначальным значением, но это действенно для вариантов замены слово -> ссылка А вот если слово -> слово - она в обратку работать не должна. Универсальность тут видимо не пройдет Скорее всего необходимо добавить параметр к каждой замене в фильтре - делать обратную при редактировании или нет. Т.к. при входе в редактирование, если в фильтре есть замена "@" на "and" получится так: правильно указанное мыло "test@test.ru" будет в редактировании видно как "testandtest.ru". Пишут новости пользователи, которым вообщем-то не надо знать, что на что ты меняешь, особенно это касается тех моментов, когда начинают писать ссылки конкурентов.... И вот тут будет прикольно: ты в фильтре сделал замену сайта конкурента на свой, а юзер указал в своей новости твой сайт - ссылка на картинку, которая залита на твой сайт, потом начинает этот пост редактировать и??? - все урлы в картинках подменены на адрес конкурента!!! Просто проведите сами такой эксперимент. Изменено 9 января 2008 пользователем MSK Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 9 января 2008 Рассказать Опубликовано: 9 января 2008 Вы видимо не поняли, ИЗНАЧАЛЬНО написал в новости слово "проверка Нет я все правильно понял. Вы же как вы выразились входите в редактирование, и в поле редактирования видите исходный текст. Вы же его видите в поле редактирования а не на сайте. После редактирования и сохранения на сайте вы уже видите опять слово "Проверка". Вы ходили по ссылке, которую я вам дал? Принципиально изменилось назначение фильтра слов. Если раньше его предназначением являлось менять слово "х**" на звездочки, то теперь его предназначение, это упрощение написания новостей, а именно при при написании определенного краткого ключевого слова, это слово заменяется на его расширенное описание, т.е. "автопарсинг новостей". Фильтр слов, это больше не банальный фильтр нежелательных слов. Но я начинаю понимать, что никому это не нужно и большинству главное это корректная замена "х**" на звездочки Цитата Ссылка на сообщение Поделиться на других сайтах
MSK 289 Опубликовано: 9 января 2008 Рассказать Опубликовано: 9 января 2008 Автор Но я начинаю понимать, что никому это не нужно и большинству главное это корректная замена "х**" на звездочки Нет, обратная замена - это правильное решение - оно облегчает редактирование, НО Скорее всего необходимо добавить параметр к каждой замене в фильтре - делать обратную при редактировании или нет. Может внести такие корректировки? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 9 января 2008 Рассказать Опубликовано: 9 января 2008 может, может, буду думать .... Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 9 января 2008 Рассказать Опубликовано: 9 января 2008 Но я начинаю понимать, что никому это не нужно и большинству главное это корректная замена "х**" на звездочкиВсё нормально, я хоть и не пользуюсь, но считаю фильтр хорошим. Вопрос: в фильтре работают регулярные выражения? Если да, то отличный инструмент! Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 9 января 2008 Рассказать Опубликовано: 9 января 2008 в фильтре работают регулярные выражения? нет, по крайней мере пока Цитата Ссылка на сообщение Поделиться на других сайтах
MSK 289 Опубликовано: 9 января 2008 Рассказать Опубликовано: 9 января 2008 Автор может, может, буду думать .... можете, пока идет процесс размышлений, дать вариант, в котором фильтр в обратку не меняет слова, что бы не оставлять сайт без фильтра...? Что бы самому не лазить по коду... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 9 января 2008 Рассказать Опубликовано: 9 января 2008 /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 289 Опубликовано: 9 января 2008 Рассказать Опубликовано: 9 января 2008 (изменено) Автор О, оно. Спасибо. Изменено 9 января 2008 пользователем MSK Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.