Помощь Функция <Поиск и Замена> Кода а не текста в новостях

Тема в разделе "DLE", создана пользователем alukart, 10 дек 2009.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. alukart

    alukart Постоялец

    Регистр.:
    31 дек 2006
    Сообщения:
    77
    Симпатии:
    4
    Здраствуйте
    Мне нужно во всех новостях в DLE удалить код а именно
    тоесть ввожу исходный http
    заменить на http
    Пробую через функцию в движке Поиск и Замена но неполучается как я понимаю он заменяет ТОЛЬКО текст а не код в страницах :(
    Подскажите как можно заменять код в страницах, может что нить в коде движка надо изменить? :bc:
    Спасибо
     
  2. Bobrov

    Bobrov Постоялец

    Регистр.:
    7 авг 2008
    Сообщения:
    145
    Симпатии:
    13
    Сделай прямой запрос в базу, можно через пхп май админ, или написать короткий пхп с запросом. Все что есть в дле сделано так, чтоб тот кто не разбирается в программировании не смог поломать, поэтому там все конвертируется. При прямом обращении в базу ты сможешь поменять все, что угодно и довольно быстро.
     
  3. alukart

    alukart Постоялец

    Регистр.:
    31 дек 2006
    Сообщения:
    77
    Симпатии:
    4
    через phpmyadmin смотрел там нет такого((
    может кто нить поделится таким скриптиком или что нужн изменить в dle чтобы можно было такое воплотить?
     
  4. Bobrov

    Bobrov Постоялец

    Регистр.:
    7 авг 2008
    Сообщения:
    145
    Симпатии:
    13
    Как нет??? Раздел называется SQL, делаешь:
    UPDATE ИМЯ_ТАБЛИЦЫ SET ИМЯ_ПОЛЯ = REPLACE(ИМЯ_ПОЛЯ, ‘строка для замены’, ‘чем заменяем’);
    Пример: заменяем слово 'interim' на 'projectdeliverable' в поле data таблицы webform:
    UPDATE webform SET DATA =REPLACE(DATA, 'interim', 'projectdeliverable');
    Если в ответ на данное действие вы получаете ошибку в виде

    ERROR 1175 (HY000:( You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column

    это означает, что у вас включена опция "безопасных модификаций", ограничивающих вид запросов на изменения базы. В данном случае необходимо указать условие запроса WHERE, в котором будет присутствовать индексное поле таблицы. В нашем случае имеется поле nid, которое является ключевым и которое в нашем случае всегда больше нуля. Его-то и используем в модифицируемой версии запроса:

    UPDATE webform SET DATA =REPLACE(DATA, 'interim', 'projectdeliverable') WHERE nid > 0;
     
  5. alukart

    alukart Постоялец

    Регистр.:
    31 дек 2006
    Сообщения:
    77
    Симпатии:
    4


    ничего не получается
    вот какой запрос
    UPDATE dle_post SET short_story =REPLACE(short_story, 'http', 'http');

    пишет что ничего не сделал((

    Затронутые ряды: 0 (Запрос занял 1.7360 сек)
    SQL-запрос:
    UPDATE `dle_post` SET `short_story` = REPLACE (
    `short_story` ,
    'http',
    'http'
    )
     
  6. Bobrov

    Bobrov Постоялец

    Регистр.:
    7 авг 2008
    Сообщения:
    145
    Симпатии:
    13
    Значит нужно проверить, может в базе данных это храниться не в виде HIDE, найди какую-нибудь новость и посмотри как тэг записывается в базу.
     
  7. limpopo

    limpopo

    Регистр.:
    31 окт 2007
    Сообщения:
    544
    Симпатии:
    83
    Сделай бекап загрузи к себе на компьютер открой в программе Emeditor и там сделай замену.
     
  8. alukart

    alukart Постоялец

    Регистр.:
    31 дек 2006
    Сообщения:
    77
    Симпатии:
    4

    все сделал, спасибо, в базу текст по другому сохранялся :yahoo:
     
Статус темы:
Закрыта.