校正オプション
{var}[option]というように、変数の後に[]を記述して校正オプションを使用します。また、オプションはパイプ ( | ) を使用して複数指定することもできます。
仕様変更について
Ver. 3.1.7(v3.0.29・v2.11.58・v2.10.50)から変数の仕様が変更されております。 詳しくはこちらをご覧ください https://developer.a-blogcms.jp/blog/news/specifications-change-vars.html
日付の校正
| wareki | 日付から和暦の年を算出して表示します。 ※{date}の中は、YYYY-mm-ddの書式の日付情報(例では1985-08-26)とします 例1:{date}[wareki] → 昭和60 例2:{date}[wareki('年m月d日')] → 昭和60年8月26日 |
|---|---|
| age | 日付を誕生日としたときの現在の年齢を表示します。 例) 1985/08/26[age] -> 23 |
| date | 日付を指定した形式で表示します。(PHP:date関数準拠) 半角英数をつなぎ文字に入れる際は、エスケープが必要です。 例1:1985/08/26[date('Y年n月d日')] -> 1985年8月26日 例2:1985/08/26[date('M d\t\h, Y')] -> Aug 26th, 1985 |
| weekEN2JP | 英字の週(Sunday, Monday...)を日本語に変換します。 日本語名はconfig.system.default.yamlの「week_label」を参照。 例1:{date#l}[weekEN2JP] -> 日 |
標準の校正
| escape | <, >, "といった文字を実体参照に変換します。 |
|---|---|
| allow_dangerous_tag Ver. 3.1.7〜 |
危険なタグ(script, iframe, formなど)の出力を許可します。また非推奨・廃止されたタグ(例: <font>)も許可します。 |
| safe_html Ver. 3.2.0〜 |
HTMLPurifier によってHTMLを洗浄し、安全な要素・属性だけを残して出力します。Twig テンプレートでHTMLタグの出力を許可しつつ、危険なタグ・属性を取り除きたい場合に使用します。 例:{{ entry.body | safe_html }} |
| escvars | ブレース({, })を実体参照に変換します。 |
| escquot | ダブルクオーテーション(")をエスケープ("")します。 |
| jsonEscape | 値をJSON文字列として安全に埋め込める形にエスケープします。ダブルクオートや改行、バックスラッシュなどをJSON形式の実体参照に変換します(前後のダブルクオート自体は付与されません)。 <script> タグ内でテンプレート変数をJS文字列リテラルとして埋め込む際に使用します。 例:<script>var title = "{title}[jsonEscape]";</script> |
| jsonNumber | 数値をJSON数値として(ダブルクオートを付けずに)出力します。値が数値でない場合は、引数で指定した値(省略時は文字列 null)を返します。例:<script>var count = {count}[jsonNumber];</script> 例:{count}[jsonNumber('0')] 数値でない場合は0を出力 |
| nl2br | 改行を<br />に変換します。 |
| nl2br4html | 改行を<br>に変換します。*php5.3以上でないと動きません |
| delnl Ver. 2.5.0〜 |
改行コードを削除する。 |
| list | 行を<li>で囲みます。 |
| definition_list | 行を<dt>、<dd>で囲みます。行頭に#を付けると<dt>になります。 |
| table | 行を<tr>で囲み、さらにカンマを<td>で囲みます。 書き方は、エントリーのテーブル書式と同じです。 |
| markdown | マークダウン記法を使用します。 引数を指定して見出しレベルを調節することができます。 例:{text}[markdown(1)] |
| trim | 文字幅を指定して足切りします。 例:{text}[trim(13, '...')] |
| mb_trim Ver. 2.6.0〜 |
指定した文字数(マルチバイト対応)で足切りします。 例:{text}[mb_trim(13, '...')] |
raw |
エスケープ処理を行わず、そのままの値を出力します。 ※校正オプションを何も指定しない場合は、デフォルトで escape が自動的に適用されます。raw を指定すると、この自動的な escape の付与を回避できます。注意: raw 自体はHTMLを無害化(サニタイズ)する処理ではありません。コンフィグ「strip_dangerous_tag」が on の環境でのみ、危険なタグを取り除く HTMLPurifier が自動的に併用されます。設定に関わらず危険なタグも含めて出力したい場合は、raw|allow_dangerous_tag のように明示的に組み合わせて使用してください。例:{text}[raw] HTMLタグの出力を許可しつつ、危険な要素・属性は取り除く 例:{text}[raw|allow_dangerous_tag] 危険なタグも含めて、HTMLタグの出力を許可する |
| number_format | 数字を千位毎にカンマ区切りにします。 |
| convert_bytes | バイト数を(K: キロ, M: メガ, G: ギガ)の単位に変換します。 {pdf@fileSize}[convert_bytes('k', 0)] → KB単位で表示 {pdf@fileSize}[convert_bytes('m', 1)] → MB単位で小数第1位まで表示 {pdf@fileSize}[convert_bytes('g', 2)] → GB単位で小数第2位まで表示 |
| lowercase | 半角英字を小文字に変換します。(PHPのstrtolower関数に準拠) 例:{text}[lowercase] |
| uppercase | 半角英字を大文字に変換します。(PHPのstrtoupper関数に準拠) 例:{text}[uppercase] |
| striptags | HTMLタグを取り除きます。 Ver.2.11以降をお使いの場合は raw と併用してください。(例:[raw|striptags]) |
| base64 | base64形式でエンコードします。 |
| md5 | ハッシュ値を算出します。 |
| urldecode | URLエンコードを元の文字列に戻します。 |
| urlencode | 文字列をURLエンコード(UTF-8)します。RFC3986準拠。 ※ 半角スペース → %20に変換 / 半角チルダ → 変換しない |
| html_entity_decode | 実態参照を元の文字列に戻します。 |
| trim4ext | 変数から拡張子を除去します。 例:{entry_code}[trim4ext('.html')] |
| convert | 文字列を変換して表示します。(PHPのmb_convert_kana関数に準拠) 例:{title}[convert('a')] |
| br4alnum | 英数字が一定数連続するたびに、任意の文字列を挿入します。 例1:{text}[br4alnum('10')] 10文字ごとに<br />を挿入(デフォルトでbr) 例2:{text}[br4alnum('10', '')] 10文字ごとにを挿入(word-break: break-allの代替) |
| zero_padding | 指定の桁数になるように、数字の左側を0(ゼロ)で埋める。 例:{number}[zero_padding('5')] 5桁になるように0で埋める 51 → 00051 に変換 |
| substring Ver. 3.0.0〜 |
文字列を好きな位置で切り抜きます。 {hoge} が abcdefg だった場合。 例1:{hoge}[substring(3)] 3文字目から最後までを切り抜きます。(defg) 例2:{hoge}[substring(2,3)] 2文字目から3文字切り抜きます。(cde) 例3:{hoge}[substring(-3)] 後ろから3文字目から最後までを切り抜きます。(efg) 例4:{hoge}[substring(-4, 2)] 後ろから4文字目から2文字切り抜きます。(de) |
| split | 正規表現で文字列を分割し指定した順番の文字列を表示する。 例:{hoge}[split(',', 2)] カンマで分割して3番目を表示 a,b,c,d,e → c(添字は0から) エスケープが必要な記号:@()[].{}*^$|+?-\(「\」または「¥」でエスケープ可) 例:{hoge}[split('\.', 2)](「.」をエスケープする場合) |
| str_replace Ver. 3.2.25〜 |
文字列をリテラル置換します(PHPのstr_replace関数に準拠)。一致するすべての検索文字列を置換します。正規表現のメタ文字は解釈されません。 検索文字列・置換文字列のいずれかが未指定の場合は、元の値をそのまま返します。 例:{text}[str_replace('検索文字列', '置換文字列')] 例:{text}[str_replace('(', '<br>(')] 「(」の前に改行タグを挿入 |
| preg_replace Ver. 3.2.25〜 |
文字列を正規表現で置換します(PHPのpreg_replace関数に準拠)。 パターンはデリミタ・フラグを含むPCRE記法で指定し、置換文字列では後方参照($1など)が利用できます。 パターンか置換文字列が未指定、または正規表現が不正な場合は、元の値をそのまま返します(フェイルセーフ)。 例:{text}[preg_replace('/(\d{2})-(\d{2})/', '$1.$2')] 「12-34」を「12.34」に変換 例:{text}[preg_replace('/abc/i', 'X')] 大文字小文字を無視して置換 |
| contrastColor | 指定色(Hex指定 例: #FFFFFF)に載せる文字色として、コントラストが高くなるように、黒系、白系のカラーを返します。 例: {color}[contrastColor] colorの色が濃い場合 #ffffff を返し、薄い場合 #000000 を返します。 例: {color}[contrastColor('#333')] 黒系のカラーの指定ができます。 例: {color}[contrastColor('#333', '#eee')] 黒系、白系のカラー指定をする場合。 |
| entryStatusLabel Ver. 2.11.37〜 |
eid(エントリーID)から下書き、非公開、承認中などのステータスを表示します。 ログインしている時に表示される「エントリーのステータス」はタイトル変数に入っているため「エントリーステータス」のみ表示したい時、使用できます。 使用例: 多言語サイトなどでは、メイン言語以外のタイトルをカスタムフィールドで出力する場合する場合が多いですが、この場合「エントリーステータス」がメイン言語以外で表示できないため、 この校正オプションを利用します。 例: {eid}[entryStatusLabel] |
| resizeImg Ver. 2.6.0〜 |
指定したサイズで画像リサイズをします。 指定した横サイズよりも画像幅が小さい場合、横のリサイズはされません。 指定した縦サイズよりも画像高さが小さい場合、縦のリサイズはされません。 例:{image@path}[resizeImg(400,300)] 横400, 縦300でリサイズ。 例:{image@path}[resizeImg(400)] 横400 でアスペクト比を維持してリサイズ。 |
| resizeImgFill Ver. 2.6.1〜 |
指定したサイズで画像リサイズをします。 指定したサイズが実際の画像のアスペクト比と合っていない場合は、画像はトリミングされて表示されます。 例:{image@path}[resizeImgFill(400,300)] 横400, 縦300でリサイズ。アスペクト比が違う場合はトリミングされます。 |
| resizeImgFit Ver. 2.6.1〜 |
アスペクト比を維持したまま、指定したサイズで画像が入るようにリサイズをします。 例:{image@path}[resizeImgFit(400,400)] 横400, 縦400でリサイズ。指定したサイズよりも画像が大きく、アスペクト比が違う場合は、余白ができます。 例:{image@path}[resizeImgFit(400,300,'ff0000')] リサイズ後の余白の背景色を指定してリサイズ(jpegのみ) |
| getWidthFromRatio Ver. 3.0.14〜 |
メディア画像アップロードに保存される変数 {xxxx@ratio} を元に、指定した画像の高さに対する幅を計算します。 例:<img src="%{MEDIA_ARCHIVES_DIR}{xxxx@path}" width="{xxxx@ratio}[getWidthFromRatio(150)]" height="150" alt=""> 高さ150pxのときの画像の幅を出力します |
| getHeightFromRatio Ver. 3.0.14〜 |
メディア画像アップロードに保存される変数 {xxxx@ratio} を元に、指定した画像の幅に対する高さを計算します。 例:<img src="%{MEDIA_ARCHIVES_DIR}{xxxx@path}" width="150" height="{xxxx@ratio}[getHeightFromRatio(150)]" alt=""> 幅150pxのときの画像の高さを出力します |
| imageRatioSizeW Ver. 2.11.13〜 |
画像URLを元に、指定した画像の高さに対する幅を計算します。 例:<img src="{image_path}" width="{image_path}[imageRatioSizeW(150)]" height="150" alt=""> 高さ150pxのときの画像の幅を出力します |
| imageRatioSizeH Ver. 2.11.13〜 |
画像URLを元に、指定した画像の幅サイズに対する高さを計算します。 例:<img src="{image_path}" width="150" height="{image_path}[imageRatioSizeH(150)]" alt=""> 幅150pxのときの画像の高さを出力します |
| buildGlobalVars Ver. 2.1.1〜 |
変数の中のグローバル変数を展開します。 |
| buildModule Ver. 2.1.1〜 |
変数中にあるモジュールを展開します。 |
| buildTpl Ver. 2.1.1〜 |
テンプレートエンジンを通し出力します。(グローバル変数やモジュールが解決されます) |
旧バージョンの仕様変更について
Ver. 2.11.0 から校正オプションの仕様が変更されております。 詳しくはこちらをご覧ください。https://developer.a-blogcms.jp/blog/raw211escape.html
Ver. 2.10 以下のバージョンの場合に注意
校正オプションを何か一つ設定すると escapeが自動で指定されません。(Ver. 2.10 以下) エスケープが必要な場合は 必ずescapeをパイプで繋げて下さい。 校正オプションが何も指定されない場合には、デフォルトでescapeが指定されます。 例) {var}[escape|nl2br]