Dplreplace

From DynamicPageList3 Manual
Revision as of 03:22, 2 October 2022 by imported>FrozenPlum (Prior issue requiring {{purgenote}} seems to have resolved, remove it)
Manual dplreplace


Note: If you are not familiar with regular expressions and/or do not know the specifics of Perl regexp used in PHP, it may be helpful to see:


Syntax

{{#dplreplace:text|pattern|replacement}}

Effect

Replaces the given pattern within the text by replacement.

pattern is a regular expression as defined by php preg_replace().

replacement may contain references to matching parts.

Examples

Example 1:

{{#dplreplace:abrakadabra|ab|AB}}

Replaces "ab" with "AB".
This is the basic usage without using regular expressions as pattern.
Matches: "ab", "ab".

Result:
{{#dplreplace:abrakadabra|ab|AB}}


Example 2:

{{#dplreplace:abrakadabra|/a(.*?r)/|A}}

Replaces "a" and the following characters until the next "r" with "A".
This example uses a regular expression as pattern, indicated by the "/", and is using the lookahead syntax "?" to find the "r".
Matches, with the group match in (): "a(br)", "a(kadabr)".

Result:
{{#dplreplace:abrakadabra|/a(.*?r)/|A}}


Example 3:

{{#dplreplace:abrakadabra|/a(.*?r)/|A\1}}

Replaces "a" with "A" if there is an "r" somewhere after the "a".
The "\1" references the group found between the "a" and "r" and puts it back into the replaced string.
Matches, with the group match in (): "a(br)", "a(kadabr)".

Result:
{{#dplreplace:abrakadabra|/a(.*?r)/|A\1}}


Example 4:

{{#dplreplace:abrakadabra|/a(.*?)r/|A\1_r_}}

Replaces "a" with "A" if there is an "r" somewhere after the "a" and also replaces the "r" at the end of/outside the found group(s) with "_r_".
Matches, with the group match in (): "a(b)r", "a(kadab)r".

Result:
{{#dplreplace:abrakadabra|/a(.*?)r/|A\1_r_}}