X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Массовая замена формата картинок в shortstory в dle
Hallboy222
Hallboy222
Topic Starter сообщение 2.2.2011, 16:39; Ответить: Hallboy222
Сообщение #1


Любитель идей
*******


Группа: Active User
Сообщений: 2582
Регистрация: 27.5.2010
Из: Москва
Поблагодарили: 872 раза
Репутация:   149  


Собственно, кто пользовался dle, тот знает, что если картинки большие, то создаются уменьшенные копии и в базе данных они записаны так:
<!--TBegin--><a href="ссылка на оригинальную картинку" onclick="return hs.expand(this)" ><img src="ссылка на уменьшенную копию" alt='''' title=''''  /></a><!--TEnd-->

Так вот, как сделать автозамену так, чтобы лишь в кратких новостях данный код заменить на:
<img src="ссылка на уменьшенную копию" alt='''' title=''''  /></a>
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kRicha
kRicha
сообщение 2.2.2011, 16:42; Ответить: kRicha
Сообщение #2


Завсегдатай
*****

Группа: Active User
Сообщений: 932
Регистрация: 29.6.2010
Из: Киева
Поблагодарили: 222 раза
Репутация:   39  


скрипт поиска и замены по БД


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Hallboy222
Hallboy222
Topic Starter сообщение 2.2.2011, 16:45; Ответить: Hallboy222
Сообщение #3


Любитель идей
*******


Группа: Active User
Сообщений: 2582
Регистрация: 27.5.2010
Из: Москва
Поблагодарили: 872 раза
Репутация:   149  


(kRicha @ 2.2.2011, 15:42) *
скрипт поиска и замены по БД

А подробнее? Имеется ли уже такой?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
danisimo
danisimo
сообщение 2.2.2011, 17:01; Ответить: danisimo
Сообщение #4


Бывалый
****

Группа: User
Сообщений: 390
Регистрация: 8.9.2010
Поблагодарили: 65 раз
Репутация:   12  


UPDATE dle_post SET short_story = REPLACE(short_story,'<!--TBegin--><a href="ссылка на оригинальную картинку" onclick="return hs.expand(this)" >','');
UPDATE dle_post SET short_story = REPLACE(short_story,'</a><!--TEnd-->','');

PS За работоспособность не ручаюсь, исполнять не пробовал


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kRicha
kRicha
сообщение 2.2.2011, 17:07; Ответить: kRicha
Сообщение #5


Завсегдатай
*****

Группа: Active User
Сообщений: 932
Регистрация: 29.6.2010
Из: Киева
Поблагодарили: 222 раза
Репутация:   39  


так вы ж не то даете... Тут на одно удаление, а ему массово надо.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
danisimo
danisimo
сообщение 2.2.2011, 18:19; Ответить: danisimo
Сообщение #6


Бывалый
****

Группа: User
Сообщений: 390
Регистрация: 8.9.2010
Поблагодарили: 65 раз
Репутация:   12  


Ну да, запарился.... я бы на php вообще сделал бы

$q=mysql_query("select * from dle_post where short_story like '%<!--TBegin-->%' ");

while($ar=mysql_fetch_array($q)){
extract($ar);

$s_story=preg_replace("/<!--TBegin-->.{1,300}(<img .{1,300})<\/a><!--TEnd-->/iU",'\\1',$short_story);
$s_story=addslashes($s_story);

sqlQuery("update dle_post set short_story='$s_story' where id=$id");
}


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Hallboy222
Hallboy222
Topic Starter сообщение 2.2.2011, 18:27; Ответить: Hallboy222
Сообщение #7


Любитель идей
*******


Группа: Active User
Сообщений: 2582
Регистрация: 27.5.2010
Из: Москва
Поблагодарили: 872 раза
Репутация:   149  


<!--TBegin-->.{1,300}(<img .{1,300})<\/a><!--TEnd-->

Ошибки никакой нет и за что 1300 отвечает?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
JoomGangster
JoomGangster
сообщение 2.2.2011, 18:29; Ответить: JoomGangster
Сообщение #8


Участник
***

Группа: User
Сообщений: 106
Регистрация: 2.9.2010
Поблагодарили: 9 раз
Репутация:   -4  


{1,300}

длину любого текста
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Hallboy222
Hallboy222
Topic Starter сообщение 6.3.2011, 11:15; Ответить: Hallboy222
Сообщение #9


Любитель идей
*******


Группа: Active User
Сообщений: 2582
Регистрация: 27.5.2010
Из: Москва
Поблагодарили: 872 раза
Репутация:   149  


(danisimo @ 2.2.2011, 17:19) *
$q=mysql_query("select * from dle_post where short_story like '%<!--TBegin-->%' ");

while($ar=mysql_fetch_array($q)){
extract($ar);

$s_story=preg_replace("/<!--TBegin-->.{1,300}(<img .{1,300})<\/a><!--TEnd-->/iU",'\\1',$short_story);
$s_story=addslashes($s_story);

sqlQuery("update dle_post set short_story='$s_story' where id=$id");
}

Кто теперь подскажет, как такое выполнить?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Hallboy222
Hallboy222
Topic Starter сообщение 11.3.2011, 19:58; Ответить: Hallboy222
Сообщение #10


Любитель идей
*******


Группа: Active User
Сообщений: 2582
Регистрация: 27.5.2010
Из: Москва
Поблагодарили: 872 раза
Репутация:   149  


Собственно решил попробовать сделать через notepad++ замену. В регулярных выражениях не так силен и возникло 2 вопроса:
1. Для замены
<!--TBegin--><a href="link1" onclick="return hs.expand(this)" ><img src="link2" alt='alt' title='title'  /></a><!--TEnd-->

Правильно ли выражение:
<!--TBegin--><a\shref=\\\"[^>]*\\\"\onclick=\\\"return hs.expand(this)\\\"><img\ssrc=\\\"[^>]*\\\"alt=\\\"[^>]*\\\"title=\\\"[^>]*\\\"/><\/a><!--TEnd-->

Заменить на
<!--TBegin--><img\ssrc=\\\"[^>]*\\\"alt=\\\"[^>]*\\\"title=\\\"[^>]*\\\"/><!--TEnd-->

2. Как сделать замену лишь именно в кратких новостях через notepad, если по вывод структуры поста в бд:
INSERT INTO `dle_post` (`id`, `autor`, `date`, `short_story`, `full_story`, `xfields`, `title`, `descr`, `keywords`, `category`, `alt_name`, `comm_num`, `allow_comm`, `allow_main`, `allow_rate`, `approve`, `fixed`, `rating`, `allow_br`, `vote_num`, `news_read`, `votes`, `access`, `symbol`, `flag`, `editdate`, `editor`, `reason`, `view_edit`, `tags`, `metatitle`, `news_tid`) VALUES

То есть нужно заменять лишь в каждой четвертой строчке после данного выражения.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Адаптивная вёрстка и натяжка на Wordpress, DLE, Joomla и др. Создание мобильных версий.
Хороший код с оптимизацией по скорости. Сайты и лендинги "под ключ
11 Nell 1060 Вчера, 15:21
автор: Nell
Горячая тема (нет новых ответов) Регистрация Вашего сайта (профиля,DLE сайты,подписи на форумах,постинг Тиц 10> , ПР 1>)
277 kaartes 102502 7.12.2017, 9:55
автор: Tootkin
Горячая тема (нет новых ответов) Услуги по CMS Wordpress, DLE, Joomla!. Правки, ремонт, настройка.
Редактирование и правки. Низкие цены.
142 contex1 64999 5.12.2017, 12:13
автор: contex1
Открытая тема (нет новых ответов) Требуется так сказать оптимизация шаблона DLE
5 Deadman_n 395 2.12.2017, 13:24
автор: Deadman_n
Открытая тема (нет новых ответов) Перенос сайта с DLE на WordPress
3 mdobyshev 859 30.11.2017, 7:29
автор: Nell


 



RSS Текстовая версия Сейчас: 12.12.2017, 11:09
Дизайн