Dplreplace: Difference between revisions
imported>FrozenPlum m (Prior issue requiring {{purgenote}} seems to have resolved, remove it) |
imported>FrozenPlum (Examples to subpages and linked to and preloaded for basic sandboxing on user subpage.) |
||
Line 2: | Line 2: | ||
This DPL3 module replaces a given <code>''pattern''</code> withing given <code>''text''</code> by the given <code>''replacement''</code>. |
|||
⚫ | |||
==Syntax== |
==Syntax== |
||
{{syntax|{{#dplreplace:''text''{{!}}''pattern''{{!}}''replacement''}}}}, where: |
|||
<pre> |
|||
* <code>''text''</code> is whatever text is to be searched within. |
|||
{{#dplreplace:text|pattern|replacement}} |
|||
⚫ | |||
</pre> |
|||
⚫ | |||
==Effect== |
|||
Replaces the given ''pattern'' within the ''text'' by ''replacement''. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
==Examples== |
==Examples== |
||
'''Example 1:''' |
'''Example 1:''' |
||
{{#lsth:Examples/Module: dplreplace (example 1)|Example}} |
|||
{{ViewTest|Examples|Module: dplreplace (example 1)}} |
|||
⚫ | |||
{{#lsth:Examples/Module: dplreplace (example 1)|Result}} |
|||
<pre> |
<pre> |
||
{{#dplreplace:abrakadabra|ab|AB}} |
{{#dplreplace:abrakadabra|ab|AB}} |
||
</pre> |
</pre> |
||
Replaces "ab" with "AB".<br>This is the basic usage without using regular expressions as pattern.<br>'''Matches''': "ab", "ab". |
|||
⚫ | |||
{{#dplreplace:abrakadabra|ab|AB}} |
|||
'''Example 2:''' |
'''Example 2:''' |
||
{{#lsth:Examples/Module: dplreplace (example 2)|Example}} |
|||
<pre> |
|||
{{ViewTest|Examples|Module: dplreplace (example 2)}} |
|||
{{#dplreplace:abrakadabra|/a(.*?r)/|A}} |
|||
</pre> |
|||
Replaces "a" ''and the following characters until the next "r"'' with "A".<br>This example uses a regular expression as pattern, indicated by the "/", and is using the lookahead syntax "?" to find the "r".<br>'''Matches''', with the group match in (): "a(br)", "a(kadabr)". |
|||
'''Result:'''<br> |
'''Result 3:'''<br> |
||
{{#lsth:Examples/Module: dplreplace (example 2)|Result}} |
|||
{{#dplreplace:abrakadabra|/a(.*?r)/|A}} |
|||
'''Example 3:''' |
'''Example 3:''' |
||
{{#lsth:Examples/Module: dplreplace (example 3)|Example}} |
|||
<pre> |
|||
{{ViewTest|Examples|Module: dplreplace (example 3)}} |
|||
{{#dplreplace:abrakadabra|/a(.*?r)/|A\1}} |
|||
</pre> |
|||
Replaces "a" with "A" if there is an "r" somewhere after the "a".<br>The "\1" references the group found between the "a" and "r" and puts it back into the replaced string.<br>'''Matches''', with the group match in (): "a(br)", "a(kadabr)". |
|||
'''Result:'''<br> |
'''Result 3:'''<br> |
||
{{#lsth:Examples/Module: dplreplace (example 3)|Result}} |
|||
{{#dplreplace:abrakadabra|/a(.*?r)/|A\1}} |
|||
'''Example 4:''' |
'''Example 4:''' |
||
{{#lsth:Examples/Module: dplreplace (example 4)|Example}} |
|||
<pre> |
|||
{{ViewTest|Examples|Module: dplreplace (example 4)}} |
|||
{{#dplreplace:abrakadabra|/a(.*?)r/|A\1_r_}} |
|||
</pre> |
|||
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_".<br>'''Matches''', with the group match in (): "a(b)r", "a(kadab)r". |
|||
<!--{{note|This explanation is incomplete, it needs to be expanded to better explain what is taking place in the result.}}--> |
|||
'''Result:'''<br> |
'''Result 4:'''<br> |
||
{{#lsth:Examples/Module: dplreplace (example 4)|Result}} |
|||
{{#dplreplace:abrakadabra|/a(.*?)r/|A\1_r_}} |
|||
[[Category:Other Modules]] |
[[Category:Other Modules]] |
Latest revision as of 02:57, 11 April 2023
|
Manual | dplreplace |
This DPL3 module replaces a given pattern
withing given text
by the given replacement
.
Syntax
{{#dplreplace:text|pattern|replacement}}
, where:
text
is whatever text is to be searched within.pattern
is a regular expression as defined by phppreg_replace()
.replacement
may contain references to matching parts.
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:
- The PHP manual and W3Schools for more information.
- RegExr for testing regular expressions.
Examples
Example 1: {{#lsth:Examples/Module: dplreplace (example 1)|Example}}
Page Template:ViewTest/style.css must have content model "Sanitized CSS" for TemplateStyles (current model is "plain text").
Result 1: {{#lsth:Examples/Module: dplreplace (example 1)|Result}}
{{#dplreplace:abrakadabra|ab|AB}}
Example 2:
{{#lsth:Examples/Module: dplreplace (example 2)|Example}}
Page Template:ViewTest/style.css must have content model "Sanitized CSS" for TemplateStyles (current model is "plain text").
Result 3:
{{#lsth:Examples/Module: dplreplace (example 2)|Result}}
Example 3:
{{#lsth:Examples/Module: dplreplace (example 3)|Example}}
Page Template:ViewTest/style.css must have content model "Sanitized CSS" for TemplateStyles (current model is "plain text").
Result 3:
{{#lsth:Examples/Module: dplreplace (example 3)|Result}}
Example 4:
{{#lsth:Examples/Module: dplreplace (example 4)|Example}}
Page Template:ViewTest/style.css must have content model "Sanitized CSS" for TemplateStyles (current model is "plain text").
Result 4:
{{#lsth:Examples/Module: dplreplace (example 4)|Result}}