Attention

TYPO3 v7 has reached its end-of-life November 30th, 2018 and is not maintained by the community anymore. Looking for a stable version? Use the version switch on the top left.

There is no further ELTS support. It is recommended that you upgrade your project and use a supported version of TYPO3.

replacement

This object performs an ordered search and replace operation on the current content with the possibility of using PCRE regular expressions. An array with numeric indices defines the order of actions and thus allows multiple replacements at once.

Property

search

Data type

string /stdWrap

Description

Defines the string that shall be replaced.

Property

replace

Data type

string /stdWrap

Description

Defines the string to be used for the replacement.

Property

useRegExp

Data type

boolean /stdWrap

Description

Defines that the search and replace strings are considered as PCRE regular expressions.

Example:

10 {
  search = #(a )CAT#i
  replace = \1cat
  useRegExp = 1
}

Default

0

Property

useOptionSplitReplace

Data type

boolean /stdWrap

Description

This property allows to use optionSplit for the replace property. That way the replace property can be different depending on the occurrence of the string (first/middle/last part, ...). This works for both normal and regular expression replacements. For examples see below.

Default

0

[tsref:->replacement]

Examples:

10 = TEXT
10 {
  value = There_are_a_cat,_a_dog_and_a_tiger_in_da_hood!_Yeah!
  stdWrap.replacement {
    10 {
      search = _
      replace.char = 32
    }
    20 {
      search = in da hood
      replace = around the block
    }
    30 {
      search = #a (Cat|Dog|Tiger)#i
      replace = an animal
      useRegExp = 1
    }
  }
}

This returns: "There are an animal, an animal and an animal around the block! Yeah!".

The following examples demonstrate the use of optionSplit:

20 = TEXT
20.value = There_are_a_cat,_a_dog_and_a_tiger_in_da_hood!_Yeah!
20.stdWrap.replacement.10 {
  search = _
  replace = 1 || 2 || 3
  useOptionSplitReplace = 1
}

This returns: "There1are2a3cat,3a3dog3and3a3tiger3in3da3hood!3Yeah!"

30 = TEXT
30.value = There are a cat, a dog and a tiger in da hood! Yeah!
30.stdWrap.replacement.10 {
  search = #(a) (Cat|Dog|Tiger)#i
  replace = ${1} tiny ${2} || ${1} midsized ${2} || ${1} big ${2}
  useRegExp = 1
  useOptionSplitReplace = 1
}

This returns: "There are a tiny cat, a midsized dog and a big tiger in da hood! Yeah!"