replace_sections
NAME
replace_sections(): search and replace text appearing between section start/endTYPE
FunctionDESCRIPTION
Replace sections in a text, identified by start/end tokens, with a given replacement string. Back-referencing supported.
This function allows to replace one or more occurrences of text with a replacement text. The replaced text is such that appears between a section start and section end texts. The section start/end texts themselves are stripped during the replacement process.
The replacement text may be constant, but may also use the '\\0' back-reference to indicate the original text.
SYNOPSIS
replace_sections(
txt TEXT CHARSET utf8,
section_start TEXT charset utf8,
section_end TEXT charset utf8,
replacement_text TEXT CHARSET utf8
)
RETURNS TEXT CHARSET utf8
NO SQL
Input:
- txt: text to manipulate
- section_start: text identifying beginning of section
- section_end: text identifying end of section
- replacement_text: text to inject in place of sections. May contain the special '\\0' back-reference .
EXAMPLES
Strip anything between braces:
mysql> select replace_sections('Me (myself) I', '(', ')', '') as result;
+--------+
| result |
+--------+
| Me I |
+--------+
Remove all HTML tags, assume "<" & ">" do not appear throughout text:
mysql> select replace_sections('The <b>quick</b> brown <b>fox</b>',
'<', '>', '') as result;
+---------------------+
| result |
+---------------------+
| The quick brown fox |
+---------------------+
Remove only <b> HTML tags, retain enclosed text:
mysql> select replace_sections(
'The <b>quick</b> <span>brown</span> <b>fox</b>',
'<b>', '</b>',
'\\0') as result;
+----------------------------------+
| result |
+----------------------------------+
| The quick <span>brown</span> fox |
+----------------------------------+
Convert b tags to span tags, retain enclosed text:
mysql> select replace_sections(
'The <b>quick</b> brown <b>fox</b>',
'<b>', '</b>',
'<span>\\0</span>') as result;
+-----------------------------------------------+
| result |
+-----------------------------------------------+
| The <span>quick</span> brown <span>fox</span> |
+-----------------------------------------------+