すべての操作をエスケープせずに「テンプレートのテンプレート」をレンダリングする方法

WBOY
リリース: 2024-02-10 17:18:17
転載
1002 人が閲覧しました

すべての操作をエスケープせずに「テンプレートのテンプレート」をレンダリングする方法

php エディター Zimo は、新しいテクノロジー、つまり、各操作をエスケープせずに「テンプレートのテンプレート」をレンダリングする方法を紹介するためにここにあります。開発プロセス中、動的コンテンツをレンダリングするためにテンプレート エンジンを使用することがよくありますが、テンプレート内でテンプレート構文を使用する必要がある場合、エスケープの問題がよく発生します。この記事では、プロジェクト開発にうまく適用できるように、この問題を解決する方法について詳しく説明します。

質問の内容

text/templateを使用して、特定のアクションのみがレンダリングされる(つまり、##で囲まれた)「テンプレートのテンプレート」をレンダリングする方法を知っている人はいますか? #{{ ...}}) 残りはテキストとして処理されますか?

たとえば、次のテンプレートがあるとします:

リーリー

次の出力をレンダリングしたい:

リーリー

{{ "{{" }} を使用して、必要なテキストのすべての部分をエスケープすることもできますが、少し面倒に感じます。

次のようなことができるはずだと思います。

{{template "outer" .foo}}. をレンダリングして、 tmpl.executetemplate(&buff, "outer", data ) またはそのようなものを使用して、指定した「外部」操作のみをレンダリングします。

また、「テンプレートのテンプレート」のレンダリングがコード臭であるかどうかも知りたいです。可能であれば、「外部」テンプレートを次のような文字列/置換に置き換える必要があります。

解決策

第 1 レベルのテンプレートの区切り文字を変更できます:

リーリー

次に、テンプレートを次のように記述します:

リーリー

以上がすべての操作をエスケープせずに「テンプレートのテンプレート」をレンダリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!