rah/rah_replace

Search and replace plugin for Textpattern CMS

Installs: 50

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 1

Forks: 1

Open Issues: 0

Type:textpattern-plugin

0.5.0 2019-04-06 20:06 UTC

This package is auto-updated.

Last update: 2020-09-06 23:14:32 UTC


README

Packagist | Issues | Donate

Textpattern CMS template tag that returns contained content with all searched occurrences replaced with given replacements, in the same manner as PHP’s str_replace function.

Install

Using Composer:

$ composer require rah/rah_replace

Basics

The plugin, rah_replace, introduces a new container tag to Textpattern’s arsenal. The tag returns wrapped content with all found occurrences replaced with given replacements. A tag supports multiple searched occurrences and replacements.

<rah::replace from="value1, value2, ..." to="value1, value2, ...">
    Searched content
</rah::replace>

Attributes

<rah::replace>
    ...contained statement...
</rah::replace>

The tag is a container and attributes for it follow.

from
Strings that will be searched and replaced with to attribute’s values. Separate multiple values with a comma (or delimiter if changed).
Default: from="" Example: "dog,cat,house"

to
Replacements that will be used to replace from attribute’s values. Comma (or delimiter) separated if multiple.
Default: to="" Example: "ship,home,hat"

delimiter
Sets the delimiter used in from and to to separate multiple values. Default is a comma.
Default: delimiter="," Example: "|"

Examples

Replaces a dog with a cat

<rah::replace from="dog" to="cat">
    My favorite animal is a dog.
</rah::replace>

Returns: My favorite animal is a cat.

Replace multiple needles with different replacements

<rah::replace from="house,dog,Mike" to="boat,friend,wife">
    I live in a house with my dog and Mike.
</rah::replace>

Returns: I live in a boat with my friend and wife.

Replace multiple needles with a one replacement

<rah::replace from="Mike,dad" to="I">
    I remember when dad and Mike did go to fishing.
</rah::replace>

Returns: I remember when I and I did go to fishing.

Using a different delimiter

By default any comma is treated as a delimiter and can not be used as actual value. To use a comma (,) as a needle or a replacement, you would have to change the delimiter to something else. Like for instance to a vertical bar:

<rah::replace from=".|," to="!" delimiter="|">
    A, B, C.
</rah::replace>

Returns: A! B! C!

Changelog

Version 0.5.0 – 2019/04/06

  • Register the tag.
  • Now requires Textpattern 4.7.0 or newer.

Version 0.4.2 – 2013/05/07

Version 0.4.1 – 2013/04/25

Version 0.4 – 2012/07/12

  • Performance optimization.

Version 0.3 – 2011/04/22

  • Performance optimization.

Version 0.2 – 2009/04/16

  • Added a new attribute: delimiter.

Version 0.1 – 2009/04/16

  • Initial release.