Smartyでifに正規表現を使う
2010-05-08 / PHP
Smartyで正規表現を扱うには、regex_replaceを使う。
http://www.smarty.net/manual/ja/language.modifier.regex.replace.php
サンプルにあるように、
{$articleTitle|regex_replace:"/[\r\t\n]/":" "}
というように書く。この書き方をifの中で使用する。
例えば、abcを含んでいるかのチェックなら、
{if $articleTitle|regex_replace:"/[^(abc)]/":"" ne ""}
こんな感じかな。「abc以外を空文字に変換した結果が、空文字ではない」という評価。もっとスマートな方法ありそうだけど。