Smarty 文字列検索
Smartyのregex_replaceを使用してpreg_matchの代用
正規表現と正規表現を使わない文字列検索のSmarty版。
対象がregex_replaceにより置換されて、元と異なる場合は合致(TRUE)、そうでない場合は不一致(FALSE)。
Smarty
{if $str|regex_replace:'/foo/':'x' ne $str}
fooが含まれていれば、TRUE
{/if}
{if $str|mb_strpos:'foo' !== FALSE}
fooが含まれていれば、TRUE
{/if}
{if $str|regex_replace:'/^foo/':'x' ne $str}
fooで始まる場合、TRUE 前方一致
{/if}
{if $str|mb_strpos:'foo' === 0}
fooで始まる場合、TRUE 前方一致
{/if}
{if $str|regex_replace:'/foo$/':'x' ne $str}
fooで始まる場合、TRUE 後方一致
{/if}
{if $str|mb_strpos:'foo' === ($str|mb_strlen - 'foo'|mb_strlen)}
fooで始まる場合、TRUE 後方一致
{/if}
{if $str|regex_replace:'/^foo$/':'x' ne $str}
fooに一致した場合、TRUE 完全一致
{/if}
{if $str eq 'foo'}
fooに一致した場合、TRUE 完全一致
{/if}
{if $str|regex_replace:'/^$/':'x' ne $str}
空の場合、TRUE
{/if}
{if empty($str)}
空の場合、TRUE
{/if}