Skip to main content
フィルターはHubLの最終出力に影響を与えます。さまざまなHubL文と式にフィルターを適用することで、サーバーから出力されるテンプレートマークアップを変更できます。 フィルターの基本構文は|filternameです。フィルターは文または式のすぐ後に、区切り記号で囲んで追加します。パラメーターを括弧内に追加指定できるフィルターもあります。文字列、数値、およびブール値のパラメーターを使用するフィルターの基本構文は、|filtername("stringParameter", 10, true)です。文字列パラメーターについては、引用符で囲む必要があることに注意してください。また、HubLフィルターにはエイリアスが存在し、それをプライマリーフィルターと同じ目的に使用できます。 以下にて、サポートされる全てのHubLフィルターを示します。

注:

CMS Hub上のページやブログ記事では、コンタクトトークンや会社トークンなどのパーソナライズトークンにHubLフィルターを適用できますが、Eメールでは適用できません

abs

数値の絶対値を取得します。このフィルターを使用すると、常に正の数値が得られます。

add

1つの数値を別の数値に加算します。このフィルターは+演算子と同じように機能します。括弧内のパラメーターは、最初の数値に合わせる加算値です。

attr

ディクショナリー(辞書型)の属性をレンダリングします。このフィルターの機能は、content.absolute_urlなど、ディクショナリーに含まれる変数を出力する機能と同等です。

batch

1つのシーケンス内の複数項目をグループ化します。 以下の例では、フルーツの種類からなるシーケンスが変数に格納されています。batchフィルターは、シーケンスを反復処理するループに適用されます。入れ子ループが3回実行され、行ごとに3種類のフルーツを出力した後、外側のループが再び実行されます。フルーツが5種類しかないので、最終的な出力では最後の項目が (2番目のパラメーター)に置き換えられる点にご注目ください。

between_times

指定された時間単位を使用して、2つの日時オブジェクト間の差異を計算します。

注:

このフィルターは、日付を返す変数でのみ使用してください。2024年9月30日以降、このフィルターはnull値が渡された場合に現在の日付を返さなくなります。この日付を過ぎると、フィルター内のnull値は2024年9月30日を返します。

bool

テキスト文字列の値をブール値に変換します。

capitalize

変数値の最初の文字を大文字にします。最初の文字が大文字になり、その他の文字は全て小文字になります。スペースまたはハイフンで区切られている後続の単語について、最初の文字は大文字になりません。

center

空白を使用して、指定されたフィールドの長さ内でテキストを中央に配置します。HubSpotのHTMLコンパイラーは自動的に空白を除去するので、このフィルターは推奨されず、特に役立つわけでもありませんが、包括的な説明のためにここで説明しています。 以下の例では、空白が除去されないようにpreタグ内の変数にこのフィルターを適用しています。

convert_rgb

HEX値をRGB文字列に変換します。色変数をRGBに変換して、RGBA CSS宣言で使用する必要がある場合に便利です。以下の例では、色モジュールによって設定された値がRGB値に変換され、RGBA CSS宣言で使用されます。

cut

値から文字列を除去します。このフィルターを使用すると、一致する特定の部分文字列を切り取ることができます。パラメーターには、削除対象となる部分文字列を指定します。以下の例では、スペースと単語「world」が元の変数値から除去されます。

datetimeformat(非推奨)

注:

このフィルターは非推奨になりました。代わりに、より標準化された構文を使用するformat_datetimeフィルターを使用してください。

default

値が未定義の場合に、最初のパラメーターを返します。それ以外の場合、変数の値が出力されます。Falseと評価される変数でdefaultを使用するには、2番目のパラメーターをtrueに設定する必要があります。 以下の1つ目の例では、変数が未定義の場合にメッセージが出力されます。2つ目の例では、未定義ではない空の文字列にフィルターを適用していますが、2番目のパラメーターが原因でメッセージが出力されます。

dictsort

ディクショナリー(辞書型)を並べ替えて「キー、値」のペアを生成します。ディクショナリーはデフォルトでは並べ替えられませんが、キーまたは値を基準に並べ替えてディクショナリーを出力できます。最初のパラメーターは、並べ替えで大文字と小文字を区別するかどうかを決定するブール値です。2番目のパラメーターは、キーと値のどちらを基準にディクショナリーを並べ替えるかを決定します。以下の例では、コンタクトについて確認済みの詳細情報を全て含む、並べ替えられたコンタクトディクショナリーを出力します。

difference

このフィルターは、2つのセットまたはリストの差異を返します。フィルターから返されるリストには、最初のリストに含まれ、2番目には含まれない一意の要素が全て格納されます。

divide

現在の値を除数で割ります。渡すパラメーターは除数です。このフィルターは、/演算子の代わりになります。

divisible

Divisibleフィルターは、divisibleby式評価の代わりになります。値を特定の数で割り切れる場合、trueと評価されます。

escape_html

HTML入力の内容をエスケープします。文字列を受け入れ、&<>、およびescape_jinjava文字をHTMLで安全に使用できるシーケンスに変換します。HTMLで使用されているものの、HTMLを許可しないHubL変数には、このフィルターを使用します。

escape_attr

HTML属性入力の内容をエスケープします。文字列を受け入れ、&<、およびescape_jinjava文字をHTMLで安全に使用できるシーケンスに変換します。このフィルターは、HTML属性に追加されるHubL変数に使用します。 hrefなど、URLを受け入れる属性の値をエスケープする場合は、代わりにescape_urlフィルターを使用してください。

escape_jinjava

文字列内の{および}文字を、Jinjavaで安全に使用できるシーケンスに変換します。このような文字が含まれる可能性のあるテキストをJinjavaで表示する際にこのフィルターを使用します。

escape_js

JavaScript変数宣言に文字列を安全に挿入できるように、(escape_jinjavaを含む)文字列をエスケープ処理します。このフィルターは、HTMLスクリプト要素内で使用されるHubL変数に使用します。

escape_url

URL入力の内容をエスケープし、指定されたプロトコルを実行し、無効で危険な文字を削除し、HTMLエンティティーをエンコードします。URLが有効な場合は空の値を返します。このフィルターは、有効なURLである必要があるHTML属性内で使用されるHubL変数に使用します。

escapejson

文字列をJSON値として使用できるように、文字列をエスケープ処理します。

filesizeformat

数値を判読可能なファイルサイズ(13 kB、4.1 MB、102 Bytesなど)に変更します。デフォルトでは10進プレフィックス(MBやGBなど)が使用されますが、Mebi(MiB)やGibi(GiB)などのバイナリープレフィックスを使用するには、binaryパラメーターをtrueに設定します。

first

シーケンス内の最初の項目を返します。

float

値を浮動小数点値に変換します。正常に変換できない場合は0.0を返します。このデフォルトの動作は、最初のパラメーターを使用することで変更できます。

forceescape

厳密なHTMLエスケープを実行します。HubSpotの環境では二重にエスケープを行うケースがないため、基本的にはescapeフィルターと同じ動作をします。

format

Python文字列の書式設定をオブジェクトに適用します。%sを別の変数に置換できます。

format_currency(非推奨)

注:

このフィルターは非推奨になりました。代わりに、format_currency_valueフィルターを使用してください。

format_currency_value

パラメーターとして渡されるポータルのデフォルトの通貨とロケールに基づき、特定の数値の書式を通貨として設定します。非推奨のformat_currencyフィルターを置き換えるものです。

format_date

日付オブジェクトの日付コンポーネントを書式設定します。

注:

このフィルターは、日付を返す変数でのみ使用してください。2024年9月30日以降、このフィルターはnull値が渡された場合に現在の日付を返さなくなります。この日付を過ぎると、フィルター内のnull値は2024年9月30日を返します。

format_datetime

日付オブジェクトの日付と時刻のコンポーネント両方を書式設定します。このフィルターは、非推奨になったdatetimeformatフィルターの後続となるものです。デフォルトでは、UTC-00:00のタイムゾーンの日時を返します。

注:

このフィルターは、日付を返す変数でのみ使用してください。2024年9月30日以降、このフィルターはnull値が渡された場合に現在の日付を返さなくなります。この日付を過ぎると、フィルター内のnull値は2024年9月30日を返します。

format_number

指定されたロケールに基づいて、特定の数値の書式を設定します。小数点以下の最大精度を設定する2番目のパラメーターを含みます。

format_time

日付オブジェクトの時刻コンポーネントを書式設定します。

注:

このフィルターは、日付を返す変数でのみ使用してください。2024年9月30日以降、このフィルターはnull値が渡された場合に現在の日付を返さなくなります。この日付を過ぎると、フィルター内のnull値は2024年9月30日を返します。

fromjson

JSON文字列をオブジェクトに変換します。

geo_distance

地上の2地点間の楕円2D距離を計算します。

groupby

共通の属性を基準に、一連のオブジェクトをグループ化します。パラメーターで、グループ化の基準となる共通属性を設定します。

indent

空白を使用して、指定されたフィールドの長さ内でテキストをインデントします。HubSpotのHTMLコンパイラーは自動的に空白を除去するので、このフィルターは推奨されず、特に役立つわけでもありませんが、包括的な説明のためにここで説明しています。以下の例では、空白が除去されないように<pre>タグ内の変数にindentフィルターを適用しています。最初のパラメーターは空白の幅を制御し、2番目のブール値は最初の行をインデントするかどうかを切り替えます。

int

値を整数に変換します。正常に変換できない場合は0を返します。このデフォルトの動作は、最初のパラメーターを使用することで変更できます。

intersect

2つのセットまたはリストの共通部分を返します。フィルターから返されるリストには、両方のリストに含まれる一意の要素が全て格納されます。

ipaddr

値が有効なIPv4またはIPv6アドレスの場合には、trueと評価されます。

join

シーケンスの文字列を連結した1つの文字列を返します。要素間はデフォルトでは空文字列で区切られますが、任意指定のパラメーターを使って区切り文字を定義できます。2番目のパラメーターを使用すると、結合する属性を指定できます。

last

シーケンスの最後の項目を返します。

length

シーケンスまたはマッピング内の項目数を返します。

list

値を変換して1つのリストにします。文字列は、角括弧シーケンスの区切り文字[ ]で囲まれていない限り、別々の文字として返されます。

log

数値の自然対数を計算します。

lower

値に含まれる全ての文字を小文字に変換します。

map

オブジェクトのシーケンスにフィルターを適用するか、属性を検索します。オブジェクトリストを扱うとき、その中の特定の値だけに対象を絞り込むには、これが便利です。 基本的な使用法は、属性に対するマッピングです。例えば、ディクショナリーの特定の属性に特定の値が存在するかどうかを検査する条件付きロジックを使用する場合です。または、フィルター名と引数を渡してフィルターを起動することもできます。

md5

特定のオブジェクトのmd5ハッシュを計算します。

minus_time

日時オブジェクトで一定の時間を差し引きます。

multiply

1つの値を数値で乗算します。*演算子と同じ機能です。

plus_time

日時オブジェクトに一定の時間を加えます。

pprint

変数をpprintします。変数の型など、デバッグに役立つ情報を出力します。

random

シーケンスからランダムな1つの項目を返します。

注:

このフィルターを使用すると、ページコンテンツの更新時ではなく、定期的にページのプリレンダリングが実行されます。つまり、フィルタリングされたコンテンツは、ページの再読み込みのたびに更新されるわけではありませんこれは、ブログ記事のランダムなリストの表示など、特定のタイプのコンテンツでは特に問題ではありません。ただし、ページを読み込むたびにコンテンツをランダムに変更する必要がある場合には、代わりにJavaScriptを使用してコンテンツをクライアント側でランダム化する必要があります。

regex_replace

正規表現パターンを検索して、文字シーケンスで置換します。最初の引数はRE2形式の正規表現パターン、2つ目は置換文字列です。 詳しくはRE2正規表現の構文(英語)をご確認ください。

reject

オブジェクトに式による検証を適用して、該当する要素を拒否することにより、オブジェクトのシーケンスをフィルタリングします。

rejectattr

オブジェクトの属性を検証して該当する要素を拒否することにより、オブジェクトのシーケンスをフィルタリングします。

render

HubLを含む文字列を早期にレンダリングして、出力を他のフィルターに渡すことができるようにします。

replace

部分文字列の全てのインスタンスを、新しいものに置換します。

reverse

オブジェクトを反転します。または、オブジェクトを逆順に反復処理するイテレーターを返します。リストを反転するには.reverse()を使用します

root

値の平方根を計算します。

round

数値を指定された精度で四捨五入します。

safe

値に「safe」のマークを付けます。つまり、自動エスケープが有効になっている環境で、この変数はエスケープされません。

sanitize_html

リッチ テキスト コンテンツの出力用にHTML入力のコンテンツをサニタイズ処理します。文字列を受け入れ、許可されていないHTMLタグを削除します。HTMLで使用されており、安全なHTMLを許可するHubL変数に、このフィルターを使用します。 特定のタイプのHTMLタグを許可するパラメーターとして、FORMATTINGBLOCKSSTYLESLINKSTABLESIMAGESを含めることができます。例えば、sanitize_html(IMAGES)です。 sanitize_htmlを使用すると、全てのパラメーターがフィルターに含められます。 さらにSTRIPパラメーターを含めると、全てのHTMLを削除できます。また、ネストされた解釈を防ぐ目的で、全てのコンテンツがescape_jinjavaを介して実行されます。

select

オブジェクトを検証して該当する要素だけを選ぶことにより、オブジェクトのシーケンスをフィルタリングします。

selectattr

オブジェクトの属性を検証して該当する要素だけを選ぶことにより、オブジェクトのシーケンスをフィルタリングします。

shuffle

シーケンス内の反復の順序をランダムにします。以下の例は、標準的なブログのループをシャッフルします。

注:

このフィルターを使用すると、ページコンテンツの更新時ではなく、定期的にページのプリレンダリングが実行されます。つまり、フィルタリングされたコンテンツは、ページの再読み込みのたびに更新されるわけではありませんこれは、ブログ記事のランダムなリストの表示など、特定のタイプのコンテンツでは特に問題ではありません。ただし、ページを読み込むたびにコンテンツをランダムに変更する必要がある場合には、代わりにJavaScriptを使用してコンテンツをクライアント側でランダム化する必要があります。

slice

イテレーターをスライスして、これらの項目を含むリストの一覧を返します。最初のパラメーターにはスライスされる項目数を指定し、2番目のパラメーターには空白のスライスに埋める文字を指定します。

sort

反復可能データを並べ替えます。このフィルターを使ってHubSpotで属性を基準に並べ替える際には、全てのパラメーターが必須です。最初のパラメーターは、並べ替え順序を逆にするブール値です。2番目のパラメーターは、並べ替えで大文字と小文字を区別するかどうかを決定します。最後のパラメーターは、並べ替え基準となる属性を指定します。以下の例ではブログ内の記事が、名前のアルファベット順でレンダリングされます。

split

入力文字列を特定の区切り文字で分割して、リストにします。最初のパラメーターは、変数を分割する基準となる区切り文字を指定します。2番目のパラメーターは、変数の分割回数を決定します。残りの項目が存在する場合、それらはグループ化されたままになります。以下の例では、複数の名前からなる1つの文字列が;を基準に最初の4回だけ分割されます。

string

他の型の変数を文字列に変換します。以下の例では、整数が文字列に変換されます(変数の型の変化を確認するためにpprintを使用しています)。

striptags

SGML/XMLタグを除去して、隣接する空白を1つのスペースで置換します。このフィルターは、変数内のHTMLタグを除去する際に使用できます。

strtodate

日付文字列と日付形式を日付オブジェクトに変換します。

strtotime

日時文字列と日時書式を変換して、日時オブジェクトにします。

sum

シーケンス内の数値を全て合算します。最初のパラメーターには任意の属性を指定し、2番目のパラメーターには、変数内に加算するものがない場合に返す値を設定します。

symmetric_difference

2つのセットまたはリストの対称差を返します。フィルターから返されるリストには、1つ目のリストに含まれ、2つ目には含まれない一意の要素、または2つ目のリストに含まれ、1つ目には含まれない一意の要素が全て格納されます。

title

見出し表記の値を返します。つまり、英単語の先頭が大文字に、残りの文字は全て小文字になります。

tojson

オブジェクトをJSON文字列として書き出します。

trim

先頭および末尾にある空白を除去します。包括的な説明のためにここで説明していますが、HubSpotでは標準でマークアップから前後の空白が削除されます。

truncate

特定の文字数よりも後ろにあるテキストを切り捨てます。デフォルトは255文字です。このカウントにはHTML文字が含まれます。
: このフィルターは単語間のスペースを使用して文字列を短縮するため、日本語などの文字間にスペースがない言語では期待どおりに機能しないことがあります。

truncatehtml

HTMLマークアップを考慮しながら(つまり、ネストしている全てのタグが適切に閉じられ)、特定の文字列を切り捨てます。これにより、切り捨て後にタグが開いたままになることが防止されます。HTML文字は、合計文字数にカウントされません。
: このフィルターは単語間のスペースを使用して文字列を短縮するため、日本語などの文字間にスペースがない言語では期待どおりに機能しないことがあります。

unescape_html

HTMLエンコードされたエンティティーを含むテキストを同等のUnicodeに変換します。

union

2つのセットまたはリストの共通部分を返します。フィルターから返されるリストには、いずれかのリストに含まれる一意の要素が全て格納されます。

unique

オブジェクトのシーケンスまたはディクショナリーから一意のセットを抽出します。(関数から戻される記事リストなどの)ディクショナリーをフィルタリングする場合、どの属性を基準にディクショナリー項目の重複を削除するかを指定できます。

unixtimestamp

日時オブジェクトをUnixタイムスタンプに変換します。

注:

このフィルターは、日付を返す変数でのみ使用してください。2024年9月30日以降、このフィルターはnull値が渡された場合に現在の日付を返さなくなります。この日付を過ぎると、フィルター内のnull値はSeptember 30, 2024を返します。

upper

値に含まれる全ての文字を大文字に変換します。

urlencode

文字列をエスケープしてUTF-8形式でURLエンコードします。ディクショナリーと通常の文字列、およびペアワイズ反復を受け入れます。

urldecode

エンコードされたURL文字列を元のURLにデコードします。ディクショナリーと通常の文字列、およびペアワイズ反復を受け入れます。

urlize

プレーンテキスト内のURLを、クリック可能なリンクに変換します。追加的な整数をこのフィルターに渡した場合、URLがその数値に短縮されます。2番目のパラメーターは、リンクをrel=“no follow”にするかどうかを指示するブール値です。最後のパラメーターでは、リンクを新しいタブで開くかどうかを指定できます。

wordcount

文字列内の単語数をカウントします。
HTMLが含まれている文字列の正確なカウントを取得する場合は、striptagsフィルターを使用します。

wordwrap

指定された文字数で折り返します。HubSpotではデフォルトで空白が除去されるため、この機能は<pre>で特に役立ちます。

xmlattr

ディクショナリー内の項目に基づいてHTML/XML属性文字列を作成します。「値なし」および未定義値を除き、全ての値が自動的にエスケープされます。最初のパラメーターがfalseの場合以外は、フィルターから返された項目の前に自動的にスペースが追加されます。
最終更新日 2026年2月10日