eZpedia : The Free eZ Publish CMS Documentation Encyclopedia

Snippet: Template logic to perform search and replace on strings

Hello, in this post I will show how to perform a simple string search and replace within an eZ Publish template variable.

Many new users to eZ Publish incorrectly think there is no search and replace operator within the eZ Publish template language...

Consider the following examples. I find them to be simpler and faster to use together than to mess with yet another custom operator or wrap_operator function call.

First you can do this in any template. Here is an example. Put this code into a template file:

{def $strDataInput='09/17/2011'
       $strData=$strDataInput|explode('/')|implode('.')}
 
{$strData}{* $strData will output '09.17.2011' *}
 
{undef} 
 

This also works the same way in php. Here is an example:

<?php
$input = 'abcd efg hijk lmnop qrs tuv wxyz';
$output = implode( '-', explode( ' ', $input ) );
print_r( $input . "\n\n");
print_r( $output . "\n\n");
?>

I hope this helps others looking to avoid extra dependencies and complexities without giving up much needed functionality :)

References

[0] https://doc.ez.no/eZ-Publish/Technical-manual/3.9/Reference/Template-operators/Strings/str_replace/(language)/eng-GB

[1] https://doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Template-operators/Arrays/implode/Convert-spaces-in-text-to-dashes/(language)/eng-GB

[2] https://doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Template-operators/replacement-operator/Re-replacement-operator/(language)/eng-GB

[3] https://doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Template-operators/Strings/explode/Explode-Implode-as-string-replacement/(language)/eng-GB

[4] https://doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Template-operators/Arrays/implode/(language)/eng-GB

[5] https://doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Template-operators/Strings/explode

[6] https://share.ez.no/blogs/brookins-consulting/tip-ez-publish-template-variable-search-and-replace

Article provided by eZpedia

All text is available under the terms of the GNU Free Documentation License

Powered by eZ Publish Community Project 4.2011

Hosted by Swiss eZ Publish partner YMC