Перейти к публикации

Рекомендованные сообщения

Необходимо во всех новостях изменить вид ссылок картинок с:

[center][img]http://diafilmy.su/uploads/posts/2011-02/1298660819_1.jpg[/img][/center]

на

[img]http://diafilmy.su/uploads/posts/2011-02/1298660819_1.jpg[/img][

Захожу в админке в "Поиск и Замена", выбираю таблицу замены "В новостях", ввожу:

[center][img]

Заменить на:

[img]

Наживаю "Заменить", далее ввожу:

[/img][/center]

Заменить на:

[/img]

Результата ноль. В новостях ничего не меняется.

Что я делаю не так?

http://diafilmy.su

DLE 10.4

Изменено пользователем Mek
Ссылка на сообщение
Поделиться на других сайтах

В базе данных хранится готовый HTML код новостей, а не ББ теги, поэтому искать и менять нужно уже HTML код

Ссылка на сообщение
Поделиться на других сайтах
33 минуты назад, celsoft сказал:

В базе данных хранится готовый HTML код новостей, а не ББ теги, поэтому искать и менять нужно уже HTML код

Пробую заменить :

<div style="text-align:center;"><!--dle_image_begin

на

<!--dle_image_begin

Тоже не заменяется.

Изменено пользователем Mek
Ссылка на сообщение
Поделиться на других сайтах

Размер базы у Вас не большой. Вам, скорее всего, будет быстрее и правильнее сделать дамп базы данных, произвести поиск и замены в notepad++ по регулярному выражению. Тем более в варианте с заменой через админку, когда будете менять закрывающийся тег - вы удалите его не только у картинок по центру, а вообще у всех и статьи поедут.

 

Ищем:

<div style="text-align:center;"><!--dle_image_begin:(.+?)<\/div>

Заменяем на:

<!--dle_image_begin:\1

Предварительно делаем резервную копию базы и отключаем сайт через настройки системы.

Изменено пользователем Горбушка
Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, Горбушка сказал:

Ищем:


<div style="text-align:center;"><!--dle_image_begin:(.+?)<\/div>

Заменяем на:


<!--dle_image_begin:\1

 

Такой строки в БД вообще нет.

Ссылка на сообщение
Поделиться на других сайтах

Горбушка, не помогло. Может я сам что не так тут указал...

Сейчас скопировал строку непосредственно из БД, необходимо во всей БД заменить:

<div style=\"text-align:center;\"><!--dle_image_begin:http://diafilmy.su/uploads/posts/2011-04/1301771588_32.jpg|--><img src=\"http://diafilmy.su/uploads/posts/2011-04/1301771588_32.jpg\" alt=\"Звезда утренняя и звезда вечерняя. Диафильм 1\" title=\"Звезда утренняя и звезда вечерняя. Диафильм 1\"  /><!--dle_image_end--></div>

на

<!--dle_image_begin:http://diafilmy.su/uploads/posts/2011-04/1301771588_32.jpg|--><img src=\"http://diafilmy.su/uploads/posts/2011-04/1301771588_32.jpg\" alt=\"Звезда утренняя и звезда вечерняя. Диафильм 1\" title=\"Звезда утренняя и звезда вечерняя. Диафильм 1\"  /><!--dle_image_end-->

То есть, убрать во всей базе, в ссылках на картинки, вначале  <div style=\"text-align:center;\"> и в конце </div>

Как это можно сделать?

Ссылка на сообщение
Поделиться на других сайтах

Вы забыли про обратные слеши (экранирование)

Найти

<div style=\"text-align:center;\"><!--dle_image_begin:

Заменить на

<!--dle_image_begin:

d6dc78a55c2a.jpg

Изменено пользователем webair
Ссылка на сообщение
Поделиться на других сайтах

webair, да так получается. Но если производить замену по отдельности, в начале

<div style=\"text-align:center;\"><!--dle_image_begin:

на

<!--dle_image_begin:

То заменяет 93449 значений.

Потом меняю:

<!--dle_image_end--></div>

на

</div>

То заменяет 89066 значений.

Можно ли как то это всё за 1 раз заменить?

 

Ссылка на сообщение
Поделиться на других сайтах

Я же специально написал:

<div style="text-align:center;"><!--dle_image_begin:(.+?)</div>

Вот это (.+?) и есть регулярное выражение. Под это регулярное выражение попадут все картинки, которые были выравнены по центру.

Если у тебя в файле текст представлен с экранированием (\") - то добавь их в регулярное выражение.

 

Т.е. тебе нужно указать начало как оно у тебя в файле, затем (.+?), затем </div> - и всё. На выходе он удалит начало и конец по всём файле...

Короче, выполняй всё, как в моём посте, только поставь галочку "Регулярное выражение"..

 

P.s. в первом моём посте лишний обратный слеш...

 

 

Изменено пользователем Горбушка
Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, Горбушка сказал:

Я же специально написал:


<div style="text-align:center;"><!--dle_image_begin:(.+?)</div>

Вот это (.+?) и есть регулярное выражение. Под это регулярное выражение попадут все картинки, которые были выравнены по центру.

Если у тебя в файле текст представлен с экранированием (\") - то добавь их в регулярное выражение.

 

Т.е. тебе нужно указать начало как оно у тебя в файле, затем (.+?), затем </div> - и всё. На выходе он удалит начало и конец по всём файле...

Короче, выполняй всё, как в моём посте, только поставь галочку "Регулярное выражение"..

 

P.s. в первом моём посте лишний обратный слеш...

 

 

Ничего не находит по этому запросу:

123.jpg

P.S. Если указать вот так, то находит: <!--dle_image_begin.(.+?)</div>

Но если произвести замену на <!--dle_image_begin:\1 то убирает только </div> в конце.

Изменено пользователем Mek
Ссылка на сообщение
Поделиться на других сайтах

Если заглянуть в исходный код

 

<div align="center">
<!--dle_image_begin:http://diafilmy.su/uploads/posts/2013-08/1376971805_image001.jpg|-->
<img src="/uploads/posts/2013-08/1376971805_image001.jpg" alt="Художник Вторенко Владимир Владимирович" title="Художник Вторенко Владимир Владимирович"/>
<!--dle_image_end-->
</div>

а не

 

<div style="text-align:center;">

ну и глянуть в БД наличие экранирования
 

Ссылка на сообщение
Поделиться на других сайтах

alex32, смотреть нужно страницу с диафильмами, к примеру вот эту:

http://diafilmy.su/160-govoryaschaya-koshka.html

В новых диафильмах уже нет выравнивания изображения по центру.

В БД ссылка на картинку выглядит вот так:

<div style=\"text-align:center;\"><!--dle_image_begin:http://diafilmy.su/uploads/posts/2011-03/1301142061_12.jpg|--><img src=\"http://diafilmy.su/uploads/posts/2011-03/1301142061_12.jpg\" alt=\"Говорящая кошка\" title=\"Говорящая кошка\"  /><!--dle_image_end--></div>

 

Изменено пользователем Mek
Ссылка на сообщение
Поделиться на других сайтах

так а тут не лучше



<div style="text-align: center; position: absolute; top: 0px; left: 0px; opacity: 1; display: block; z-index: 40;">
  <!--dle_image_begin:http://diafilmy.su/uploads/posts/2011-03/1301142058_1.jpg|-->
  <img src="/uploads/posts/2011-03/1301142058_1.jpg" alt="Говорящая кошка" title="Говорящая кошка">
  <!--dle_image_end-->
</div>

а откуда в исходном коде берется  position: absolute; top: 0px; left: 0px; opacity: 1; display: block; z-index: 40;  у родительского блока?

а все понял, это js какой-то

 

Изменено пользователем alex32
Ссылка на сообщение
Поделиться на других сайтах
10 минуту назад, alex32 сказал:

а откуда в исходном коде берется  position: absolute; top: 0px; left: 0px; opacity: 1; display: block; z-index: 40;  у родительского блока? 

Это уже в шаблоне подставляется. Нужно убрать центровку картинок именно из базы.

Практически во все диафильмы изображения вставлялись вот таким образом:

[center][img]http://diafilmy.su/uploads/posts/2011-03/1301142061_12.jpg[/img][/center]

В БД такая картинка преобразовывается в:

<div style=\"text-align:center;\"><!--dle_image_begin:http://diafilmy.su/uploads/posts/2011-03/1301142061_12.jpg|--><img src=\"http://diafilmy.su/uploads/posts/2011-03/1301142061_12.jpg\" alt=\"Говорящая кошка\" title=\"Говорящая кошка\"  /><!--dle_image_end--></div>

 

Изменено пользователем Mek
Ссылка на сообщение
Поделиться на других сайтах

 

 

Про бэкслэши забыли.


 

 

 

 

Найти



<div style=\\"text-align:center;\\"><!--dle_image_begin:(.+?)<!--dle_image_end--></div>

Заменить на



<!--dle_image_begin:\1<!--dle_image_end-->



 

Результат замены



<!--dle_image_begin:http://diafilmy.su/uploads/posts/2011-03/1301142061_12.jpg|--><img src=\"http://diafilmy.su/uploads/posts/2011-03/1301142061_12.jpg\" alt=\"Говорящая кошка\" title=\"Говорящая кошка\"  /><!--dle_image_end-->



 



 

Изменено пользователем alex32
Ссылка на сообщение
Поделиться на других сайтах

alex32, ОГРОМНЕЙШЕЕ спасибо! Всё получилось!!!

Если есть возможность то пожалуйста, подскажите ещё по одному моменту.

Есть строка в базе данных вида:

<div style=\"text-align:center;\"><!--dle_image_begin:http://diafilmy.su/uploads/posts/2016-01/1452346632_05.jpg|--><img src=\"http://diafilmy.su/uploads/posts/2016-01/1452346632_05.jpg\" alt=\"Московское метро\" title=\"Московское метро\"  /><!--dle_image_end-->5. Ст. «Улица 1905 года», открыта в 1972 г.. Арх. Р. Погребной, ск. Ю. Королев</div>

Необходимо заменить её на:

<!--dle_image_begin:http://diafilmy.su/uploads/posts/2016-01/1452346632_05.jpg||5. Ст. «Улица 1905 года», открыта в 1972 г.. Арх. Р. Погребной, ск. Ю. Королев--><img src=\"http://diafilmy.su/uploads/posts/2016-01/1452346632_05.jpg\" alt=\"5. Ст. «Улица 1905 года», открыта в 1972 г.. Арх. Р. Погребной, ск. Ю. Королев\" title=\"5. Ст. «Улица 1905 года», открыта в 1972 г.. Арх. Р. Погребной, ск. Ю. Королев\"  /><!--dle_image_end-->

Реально ли это?

Ссылка на сообщение
Поделиться на других сайтах
<div style=\\"text-align:center;\\"><!--dle_image_begin:(.*?)\|-->(.*?)<!--dle_image_end-->(.*?)</div>

замена

<!--dle_image_begin:$1||$3--><img src=\\"$1\\" alt=\\"$3\\" title=\\"$3\\"  /><!--dle_image_end-->

результат

<!--dle_image_begin:http://diafilmy.su/uploads/posts/2016-01/1452346632_05.jpg||5. Ст. «Улица 1905 года», открыта в 1972 г.. Арх. Р. Погребной, ск. Ю. Королев--><img src=\"http://diafilmy.su/uploads/posts/2016-01/1452346632_05.jpg\" alt=\"5. Ст. «Улица 1905 года», открыта в 1972 г.. Арх. Р. Погребной, ск. Ю. Королев\" title=\"5. Ст. «Улица 1905 года», открыта в 1972 г.. Арх. Р. Погребной, ск. Ю. Королев\"  /><!--dle_image_end-->


 

Ссылка на сообщение
Поделиться на других сайтах
  • 3 года спустя...

Пробую сделать поиск и замену

строка

<!--colorend--></span><!--/colorend-->

меняется, а строка

<!--colorstart:#000000--><span style=\"color:#000000\"><!--/colorstart-->

нет. Хотя кавычки вроде бы экранировал. 

Что может быть не так?

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...