テンプレート内の「/」をエスケープする
Feb 06, 2024 am 09:45 AM「avatars/avatar.png」のような文字列を渡したいのですが、テンプレートに渡すと文字が入ってしまいます逃げる。 そこで、テンプレートに渡される関数を書きました:
リーリーしかし、依然として「未定義関数 'unescape'」が表示されます。アンエスケープは定義されていないのでしょうか?
「net/url」がインポートされました。
#正解
unescapeが定義されていませんか?
技術的にはいいえ。あなたはそれを定義しましたが、
遅すぎました。関数が定義されているかどうかは、実行中ではなく、解析中にチェックされます。 parseglob があり、それから
tpl.func(...) を実行します。それは普通ではありません。
リーリー
エスケープは 安全な 機能であり、その発生はデータを使用している コンテキスト および unescape# # に依存することに注意してください。 # エスケープは unescape
の入力ではなく 出力
で行われるため、おそらく「ごまかし」を回避するのには役立ちません。
つまり、
を実行すると、パーサーはコンテキストに応じて {{unescape . | urlescaper}}
に変換する可能性があります (urlescaper
は内部エスケープ関数です)。これを回避するには、テンプレート内で 既知の安全な文字列
をそのまま使用する場合は、unescape の代わりに input string を使用する必要があります。
を参照してください。 コンテキスト、エスケープ、文字列の入力などの詳細については、
パッケージのドキュメント以上がテンプレート内の「/」をエスケープするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?

Linterと静的分析ツールを使用して、GOコードの品質と保守性を向上させるにはどうすればよいですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?
