如何用Jekyll Liquid的if语句检测字符串中的句号?
Jekyll条件渲染修正方案
你的代码存在两处Liquid语法错误,导致contains "."的判断逻辑失效,具体修正如下:
错误点分析
- assign语句语法错误:Liquid的
{% assign %}标签内部引用变量不需要套{{}},你写的{% assign member = {{members.basic_info.website}} %}会导致变量赋值失败。 - elsif条件语法错误:
{% elsif %}标签里的变量引用同样不需要{{}},{{members.basic_info.website}} contains "."的写法会破坏条件判断逻辑。
修正后的代码
{% assign member = members.basic_info.website %} {% if member == nil or member contains "asd" or member contains "alesanchezr" or member contains " " %} <p>dont show</p> {% elsif member contains "." %} <p>has period</p> {% endif %}
额外优化建议
如果想避免空值引发的潜在问题,可以先判断变量是否存在,再执行后续逻辑:
{% assign member = members.basic_info.website %} {% if member %} {% if member contains "asd" or member contains "alesanchezr" or member contains " " %} <p>dont show</p> {% elsif member contains "." %} <p>has period</p> {% endif %} {% else %} <p>dont show</p> {% endif %}
内容的提问来源于stack exchange,提问作者Alex Ayala Palacin
相关产品推荐
相关产品推荐

