人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのSmartyの知識がある方に質問です。
Smartyでは、PHPサイドでタグを使用して、
assignすると、勝手に<が&lt;等に変換され
タグ扱いしないように、出力される仕様があります。

このありがた迷惑仕様をオフにするには
どうすればよろしいでしょうか?

●質問者: makocan
●カテゴリ:ウェブ制作
✍キーワード:LT PHP Smarty ありがた迷惑 オフ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● openseed
●35ポイント

間違っていたらすみません。

テンプレート側で、escape しているということはありませんか?

PHP:

$str = "<b>太字</b>";

$smarty->assign("str",$str);

テンプレート:

{$str|escape}

その場合は、{$str} とすれば、そのまま出力されると思います。



参考:

http://smarty.karakuriya.biz/cat36/000384.html

http://chizuru.bunkasha.co.jp/~kisara/bliki.cgi/1145536916?Outpu...


2 ● openseed
●35ポイント

すみません。追記です。

私の勉強不足でした。

http://smarty.nekosuke.com/000018.htm

$default_modifiers の値が設定されている場合、テンプレート側で、escape の指定を省略しても、escape することができます(escape されてしまう)。

設定箇所:

Smarty.class.php(303)

/**

* This is a list of the modifiers to apply to all template variables.

* Put each modifier in a separate array element in the order you want

* them applied. example: <code>array('escape:"htmlall"');</code>

*

* @var array

*/

var $default_modifiers = array();//array('escape:"htmlall"');

の値や

$smarty =& new Smarty();

print_r($smarty->default_modifiers);

などで、default_modifiers の値を確認みると良いと思います。


もし、現在の設定を変更せず、特定の値だけ利用したい場合は、

http://www.phppro.jp/phpmanual/smarty/variable.default.modifiers...

が、参考になるかもしれません。


以上、参考まで。

◎質問者からの返答

ありがとうございます!

解決しました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ