форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Плагин "Поиск и замена"
Есть ли такой? Пожалуйста подскажите такой плагин.
В админке встроена функция поиск по статьям, но почему то нет замены
Отредактированно LOVER (30-12-2005 14:44:34)
Неактивен
что? никто не знает что ли????
Неактивен
мне не попадался такой плагин.
опепации массовой замены доводилось делать. но делал это через phpMyadmin, и то, один или 2 раза.
это очень редкая процедура, не думаю, что кто-то будет писать спец.плагин для этого.
Как вариант, можно посмотреть плагин rss admin db manager, может быть там как-то эта функция отдельно выделена (точнее сказать не могу, в плагин этот детально не вникал)
Неактивен
Evgeny а можешь поподробнее как через phpmyadmin?
допустим надо найти фразу sitename.ru и заменить на othersite.com
Неактивен
Разочарую видимо.
Делал очень примитивно, типа, забэкапил таблицу, скачал к себе на комп, потом в текстовом редакторе, поддерживающем utf-8, сделал групповую замену того, что мне надо было поменять, а потом сделал экспорт обратно.
Сейчас не помню, вроде сразу не пошло, кажется, пришлось чистить таблицу перед экспортом.
Операция слегка нудная, надеюсь, больше не повторится - теперь более бережно к данным отношусь.
Это был разовый вариант, когда нужно было в несколких сотнях статей замену сделать.
Если количество статей, где нужна замена невелико, например, 20-30, то лучше в полуручном варианте.
Делаем SQL запрос (в phpMyadmin):
SELECT * FROM 'textpattern' WHERE 'Body' LIKE '%sitename.ru%'
и потом, вручную правим эти 20-30 строк.
не забываем, что статьи находятся в 2х полях. делаем еще один запрос:
SELECT * FROM 'textpattern' WHERE 'Body_html' LIKE '%sitename.ru%'
надеюсь, в excerpt заменяемый кусок текста не присутствует?
Если и там есть, то надо сделать еще 2 запроса,
в одном случае поставив
WHERE 'Excerpt' LIKE
во втором -
WHERE 'Excerpt_html' LIKE
Понятно?
Неактивен
Evgeny огромное спасибо, лучший вариант думаю с текстовым редактором
а ты каким редактором это делал? который нормально utf-8 поддерживает?
Неактивен
как вариант, можно написать непольшой скрипт котрый будет выбирать все поля интересующей таблицы и при определённых условия (напр по регекспу найдено что нужно) обновлять запись новыми (изменёнными) данными.
Ну например (всякие проверки не пишу, чтоб короче было):
$conn = mysql_connect("localhost", "root", ""); mysql_select_db("dbname"); $sql = "SELECT * FROM tablename"; $result = mysql_query($sql); while ($row = mysql_fetch_assoc($result)) { $id = $row["id"]; $body = $row["body"]; // ... Ну ту условия всякие, формируем новые данные (из старых в нашем случае? т.е. $newbody= ) $sql = "UPDATE tablename SET body = $newbody, excerpt = $newexcerpt WHERE id = $id"; mysql_query($sql) or die("Update error: ".mysql_error()); } mysql_free_result($result);
Ну, типа этого что-то.
Неактивен
Nicck огромное спасибо возьму на заметку, но редактором всеже в моем случае удобнее. хотя посмотрим еще
просто на базу (довольно не маленькую) итак нагрузка большая (форум с хаками)
Неактивен
LOVER написал:
каким редактором это делал? который нормально utf-8 поддерживает?
EmEditor v. 4.13
Неактивен