t()の出力でvarsを囲む「<em class =” placeholder“> </ em>」をオフにする方法は?


8

私のモジュールでは、を使用してブロック内にメニューを表示しますdrupal_render(menu_tree('my-menu'))

出力では、で出力された変数t()がで囲まれてい<em class="placeholder"> </em>ます。

Drafts <em class="placeholder">(4)</em>
Inbox <em class="placeholder">(2)</em>

これをオフにするにはどうすればよいですか?

回答:


12

これに関するドキュメントは、実際にはすばらしいコメントがあります。完全にするためにここに貼り付けます


プレースホルダーには3つのスタイルがあります。

!variable、テキストをそのまま挿入する必要があることを示します。これは、電子メールなどに変数を挿入する場合に役立ちます。

$message = t("If you don't want to receive such e-mails, you can change your settings at !url.", array('!url' => l(t('My account'), "user/$account->uid")));

@variableは、HTML文字をエスケープするために、テキストをcheck_plainで実行する必要があることを示します。Drupalページ内に表示されるすべての出力にこれを使用します。

$title = t("@name's blog", array('@name' => $account->name));

%variableこれは、文字列をHTMLエスケープして、デフォルトで強調表示されるtheme_placeholder()で強調表示する必要があることを示します。

$message = t('%name-from sent %name-to an e-mail.', array('%name-from' => $user->name, '%name-to' => $account->name));

申し訳ありませんが、doc:$をチェックする必要がありました。関数:$ではなくHTMLを検索します。THX
Willem de Vries、2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.