ホームページ  >  記事  >  バックエンド開発  >  すべての操作をエスケープせずに「テンプレートのテンプレート」をレンダリングする方法

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

WBOY
WBOY転載
2024-02-10 17:18:171002ブラウズ

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

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

質問の内容

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

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

リーリー

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

リーリー

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

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

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

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

解決策

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

リーリー

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

リーリー

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

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。