1

Тема: Дублирование и/или добавление новой строки в определённом месте поста

Здравствуйте. В каждом посте у меня имеются такие строки:

<li><span style="color:#FF0000;"><strong>Link 1: </strong></span><a href="http://mysite.com" target="_blank" rel="noopener">My site</a></li>
<!-- wp:paragraph -->
<p>[spoiler title='Spoiler'][/spoiler]</p>

Как с помощью SQL запроса можно продублировать определённую строку, чтобы получилось так:

<li><span style="color:#FF0000;"><strong>Link 1: </strong></span><a href="http://mysite.com" target="_blank" rel="noopener">My site</a></li>
<li><span style="color:#FF0000;"><strong>Link 1: </strong></span><a href="http://mysite.com" target="_blank" rel="noopener">My site</a></li>
<!-- wp:paragraph -->
<p>[spoiler title='Spoiler'][/spoiler]</p>

Как с помощью SQL запроса можно вставить новую строку, чтобы получилось так:

<li><span style="color:#FF0000;"><strong>Link 1: </strong></span><a href="http://mysite.com" target="_blank" rel="noopener">My site</a></li>
<p>Здесь добавлена новая строка</p>
<!-- wp:paragraph -->
<p>[spoiler title='Spoiler'][/spoiler]</p>

Если это возможно, чтобы SQL запрос был одной строкой (но это не обязательно)
Спасибо за помощь.

Отредактировано georgmann (2019-01-31 01:48:39)

2

Re: Дублирование и/или добавление новой строки в определённом месте поста

Для замены части строки используйте функцию REPLACE(). Для обновления данных UPDATE. Перед экспериментами сохраните исходные данные.

https://dev.mysql.com/doc/refman/8.0/en … on_replace
https://dev.mysql.com/doc/refman/8.0/en/update.html

ВКонтакте Facebook Twitter

3

Re: Дублирование и/или добавление новой строки в определённом месте поста

Я так и делаю, например:

UPDATE wp_posts SET post_content = REPLACE(post_content, 'старый текст', 'новый текст');

Но как произвести не замену одной строки на другую а добавление новой или дублирование существующей.
Возможно ли такое средствами запросов SQL?

4

Re: Дублирование и/или добавление новой строки в определённом месте поста

Добавьте старый текст к новому в третьем параметре.

UPDATE wp_posts SET post_content = REPLACE(post_content, 'старый текст', 'старый текст новый текст');

ВКонтакте Facebook Twitter

5

Re: Дублирование и/или добавление новой строки в определённом месте поста

Большое спасибо за помощь.
Ещё такой вопрос: если надо удалить определённую строку, но известно только её начало и окончание, как это можно сделать?
Например:

<li><span style="color:#FF0000;"><strong>Link 1: </strong></span><a href="это значение не известно" target="_blank" rel="noopener">My site</a></li>

Как удалить всю строку, включая теги <li></li>

6

Re: Дублирование и/или добавление новой строки в определённом месте поста

Это можно сделать через регулярные выражения в самом MySQL, или с помощью PHP.
https://dev.mysql.com/doc/refman/8.0/en … xp-replace

ВКонтакте Facebook Twitter