regex - MySQL find and replace XXX if it's between YYY and ZZZ -


i'm working on wordpress-based project , need batch edit posts database.

at moment have cells, content text <pre> text\r\ntext\r\ntext </pre>

what need find \r\n strings , replace them \r\n\r\n. far have this:

update `table_name` set `field_name` = replace(field_name, '\r\n', '\r\n\r\n\') 

the issue is, there \r\n\ text outside <pre> tags, don't want affect. that's why need find (start: '<pre>' end: '</pre>') before calling replace. have no idea how in mysql.

when web searching, found stuff regex have no idea how works.

mysql doesn't have regexp replace functionality. i'd have 2 options - either create user defined function kind of replacement, or, if can't / don't know how to, have use script/program written in different language. may e.g. php script connect db , desired replacement. way dump table containing posts file, use sed or similar , import data once again.

using sed take less time php , syntax easy learn.

whatever choose remember it's idea make backup before.


Comments

Popular posts from this blog

php - Invalid Cofiguration - yii\base\InvalidConfigException - Yii2 -

How to show in django cms breadcrumbs full path? -

ruby on rails - npm error: tunneling socket could not be established, cause=connect ETIMEDOUT -