秘密基地、どこに作った?

Smartyで aaa.tplなどのファイルを作成し
動的ページを作成しております。
データはすべてデータベース上から取り込んでおります。

ファイル上にif関数などで条件式をつくっております。
等しいとか等しくないなどの
演算子があることはわかったのですが、
aaa・bbb・ccc…
とあった場合、bbbの時にだけ適用する
つまり「含まれているか」、「含まれていないか」
で判定する条件文をつくることはできないでしょうか?

またその場合、どのような式(例でかまいません)に
なるものなんでしょう?

ご存知の方お教えください。

A 回答 (1件)

preg_matchのような動作を希望されているのでしょうか?


カスタム関数を作る、{php}タグを使うなども考えられますがテンプレ側でややこしい事をするよりも、プログラム側で判定しフラグ変数にアサインしてはどうでしょうか。

---- プログラム側 ----
$value1 = "aaa・bbb・ccc";
$pattern = '/bbb/';

$display_flag = preg_match($pattern, $value1);
$smarty->assign('value1', $value1);
$smarty->assign('display_flag', $display_flag);


---- テンプレ側 ----

{if $display_flag == true}
 マッチした時の表示
{else}
 マッチしない時の表示
{/if}

(動作確認していません。)
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございます。
これはためさせていただきます!
ただ、事情があってテンプレート側でなんとなか
したいんです…。

正規表現というよりは
単純に含まれているbbbの時は、表示
という命令文をつくりたいのですが…

お礼日時:2007/11/22 14:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報