Entersquare Inc. ホームページ作成の株式会社エンタースクウェア

【Shopify Liquid】文字列を改行で区切って配列を作る(split)

【Shopify Liquid】文字列を改行で区切って配列を作る(split)

shopifyのセクションを作成する際に、テキストエリアで改行を入れた文字列を、selectにしたいときがありました。

splitを使って改行コードを入れたりしてみたのですが、うまくいかず、以下の方法をネットで見つけました。

文字列を改行で区切って配列を作るコード

 {%- assign select_items = section.settings.textarea | strip | newline_to_br | strip_newlines | split: "<br />" -%}
 
 <select>
    {%- for text in select_items -%}
    <option>{{ text }}</option>
    {%- endfor -%}
 </select>

strip → 文字列の左右から空白を取り除く

newline_to_br → 文字列内の改行コード(\n)をを<br>に変換

strip_newlines → 文字列から全ての改行文字を取り除く

split → 指定した区切り記号で文字列を配列に分割

改行コードを<br>に変換して、それを元に配列にするということのようです。

splitでは直接改行コード(\n)で区切れないため、このような手順になっています。

参考:https://stackoverflow.com/questions/27694610/how-can-i-split-a-string-by-newline-in-shopify

Solutions

ソリューション

ホームページ作成

Webサイト制作・運用保守

コーポレートサイト/サービスサイト/オウンドメディアサイト/LP/EC

ウェブマーケティングの技術を使ってホームページの作成や保守を承っております。

Webのお悩み

Webのご相談・サポート

運用のお困りごと/集客のお困りごと/運用担当が居なくなったなど

Webに関するお困りごとや、お悩みなどのご相談、サポートを承っております。

その他、アクセス解析、広告運用、SNSサポートなどWebに関する事全般承っております。

詳しく見る