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
Сообщений: 933
Регистрация: 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
Сообщений: 933
Регистрация: 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

То есть нужно заменять лишь в каждой четвертой строчке после данного выражения.

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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Регистрация Вашего сайта (профиля,DLE сайты,подписи на форумах,постинг Тиц 10> , ПР 1>)
312 kaartes 113057 22.5.2018, 12:07
автор: avega
Горячая тема (нет новых ответов) Услуги по CMS Wordpress, DLE, Joomla!. Правки, ремонт, настройка.
Редактирование и правки. Низкие цены.
156 contex1 70892 22.5.2018, 0:06
автор: AnnaProf
Открытая тема (нет новых ответов) Вставка картинок на WP
3 Molderjkee 923 16.5.2018, 13:06
автор: adnr78
Открытая тема (нет новых ответов) Куплю базы Bitrix и DLE профилей!
для размещения ссылок, бюджет до 1000р.
0 autonew 590 5.5.2018, 11:25
автор: autonew
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыНе работает html в статических страницах - DLE 11.0
1 Akira 632 28.4.2018, 12:10
автор: falken


 



RSS Текстовая версия Сейчас: 27.5.2018, 22:17
Дизайн