Tag Archives: variable

Splitting a string into arrays in Smarty

This isn’t supposed to be a blog about programming, but I’m working a lot with PHP and Smarty these days, and whenever I manage to crack a problem, I get this strange feeling of acchievement. Then I come here to brag.

Anyway, here goes:

«How do I split a string in Smarty template engine?»

Well kind Sir, that’s quite an easy task. Here’s an example:

{assign var=”teststring” value=”31|32″}
{assign var=”testsplit” value=”|”|explode:$teststring}
{$testsplit[0]}<br />

Let’s for example say you have a bunch of Meta Keywords that are bundled together in the database (games,game,online,playing) – and you want to separate them, so that you can create keyword-specific landingpages for on-site search optimalization (games – game - online - playing).

Here’s how you do it:
(we’re assuming you have a variable called $MetaKeywords!)

{* Splitting a long string into a bunch of different arrays *}
{assign var=”keywords” value=”,”|explode:$MetaKeywords}
{foreach from=$keywords item=keyword}
<a href=”/index.php?search={$keyword}”>{$keyword|trim}</a>,&nbsp;

See what we did above? First we begin by telling the system that we want to create a new variable called $keywords. Then we continue by telling that the value we want to split is “,” and finally we tell it what string to use (in this case, $MetaKeywords).
This results in the string stored in $MetaKeywords being split into different arrays named $keyword[1], $keyword[2], $keyword[3] and so on.