2013-11-20 7 views
0

예를 들어 문자열에 "html"이 포함되어 있는지 확인하려면 어떻게해야합니까? 그럴 경우, 그 부분 문자열을 대문자로하십시오.하위 문자열을 어떻게 대문자로 표시합니까?

string = "html template" 
{% if string contains 'html' %}{{ string | upcase }}{% endif %} 

위의 코드는 전체 문자열을 대문자로 만들지 만 "html"만 대문자로 사용합니다.

답변

0

내가 upcase 대신 replace를 사용하는 것이 좋습니다 것 :

string = "html template" 
{{ string | replace: 'html','HTML'}} 

을 다음 upcase 필터가 전체 문자열을 대문자로 만든 이유 필터가 매개 변수에 적용 (여기, string)는, 그입니다.

+0

이 솔루션을 발견하고 게시했지만 더 빨리 했으므로 다른 문제가 있습니다. 더 많은 것을 "html"로 지정하고 싶습니다. 예 : "html, psd" 어떻게에 대한? –

+0

찾았습니다. {{string | 바꾸기 : 'html', 'HTML'| replace : 'css', 'CSS'}} –

+0

실제로 여러 필터를 사용해야합니다. [소스 코드] (https://github.com/Shopify/liquid/blob/v2.6.0.rc1/lib/liquid/standardfilters.rb#L115-L118)에서 방법이없는 것처럼 보입니다. 하나의 필터 만 사용하면됩니다. –

관련 문제