1

私の symfony2 プロジェクトには、いくつかの twig temlate があります。そのうちの 1 つに、ブロック タイトルがあります。

{% block title %}{{ announcement.title }}{% endblock %}

問題は、変数が次の{{ announcement.title }}ようになる可能性があることです。<em>test</em>

この場合、私のタイトルは になり<em>test</em>、そうである必要があります

テスト

を試してみました{% block title %}{{ announcement.title|raw }}{% endblock %}が、何も変わりませんでした。これはブロック タイトルのみです。ブロック コンテンツに raw フィルターを配置すれば問題ありません。

それを行う方法について何か考えはありますか?

編集:

次に例を示します。

{% block title %}{{ announcement.title|raw }}{% endblock %}
{% block body_announcements %}{{ announcement.title|raw }}{% endblock %}

ブロックのタイトルに<em>test<em>、ブロックの body_announcements に、どちらが正しいかのテストが表示されます。

4

3 に答える 3

4

テキストとタグをそのまま表示するには、rawフィルターを使用する必要があります。

{% block title %}{{ announcement.title|raw }}{% endblock %}

編集:striptagsフィルターは、タグなしでテキストを表示するために使用されます。

{% block title %}{{ announcement.title|striptags }}{% endblock %}

小枝コード

{% set str = '<em>test</em>' %}
1: {{ str }}
2: {{ str|raw }}
3: {{ str|striptags }}

結果

1: <em>テスト</em>

<em></em>タグはエスケープされます。

2:テスト

<em></em>タグはブラウザによって表示され、解釈されます。

3: テスト

<em></em>タグが削除され、テキストのみが表示されます。

于 2013-10-30T09:58:53.997 に答える
0

フォローしてみてください...

{% block title %}{{ announcement.title|raw }}{% endblock %}
于 2013-10-30T10:02:51.560 に答える
0

これを実行してエスケープできますHTML

{% block title %}{{ announcement.title|e('html') }}{% endblock %}
于 2013-10-30T10:00:42.733 に答える