>php教程 >PHP开发 >PHP 템플릿 엔진 Smarty의 내장 변수 중재자 사용법에 대한 자세한 설명

PHP 템플릿 엔진 Smarty의 내장 변수 중재자 사용법에 대한 자세한 설명

高洛峰
高洛峰원래의
2016-12-27 16:00:491274검색

이 글의 예에서는 PHP 템플릿 엔진 Smarty에 내장된 변수 중재자의 사용법을 설명합니다. 참고를 위해 모든 사람과 공유합니다.

Smarty의 변수 mediator는 함수와 동일합니다. 호출 방법은 다음과 같습니다. "|"를 통해 바로 매개변수 함수 이름이 옵니다. 매개변수는 반드시 추가해야 합니다. ":" 뒤에 매개변수가 여러 개인 경우 추가하면 됩니다.

다음은 Smarty에 내장된 변수 중재자를 소개합니다.

1. Capitalize

변수에 있는 모든 단어의 첫 글자를 대문자로 표시합니다. 매개변수 값은 숫자가 포함된 단어의 첫 번째 단어를 대문자로 표시할지 여부를 결정하는 부울 유형입니다. 기본값은 대문자가 아닙니다.

index.php

$tpl->assign('str', 'hello world wor2ld!!!');
$tpl->display('index.html');

index.html(템플릿 파일)

<{$str|capitalize}>
<{$str|capitalize:true}>

결과는 다음과 같습니다: Hello World wor2ld!!!, Hello World Wor2Ld !!!

2. count_characters

는 기본적으로 변수의 문자 수를 계산합니다(공백, 탭, 캐리지 리턴...). 문자 수만 계산합니다. 또한 한자 계산을 매우 잘 지원합니다. 매개변수 true를 추가하면 공백도 계산됩니다.

index.html

<{$str|count_characters}> // 不计算空格
<{$str|count_characters:true}> // 计算空格

결과는 다음과 같습니다. 13, 14

3, cat

연결 문자열, cat의 값을 뒤에 연결 주어진 변수.

<{$str|cat:&#39; Happy new year.&#39;}>

결과는 Hello World!!! 새해 복 많이 받으세요.

4. count_paragraphs

계산합니다. 문단수, 변수의 문단수를 계산하여 중국어 문단을 완벽하게 지원합니다.

index.php

$str = <<assign(&#39;str&#39;, $str);
$tpl->display(&#39;index.html&#39;);

index.html

<{$str|count_paragraphs}>

결과는 다음과 같습니다. 3

5.count_sentences

문장 수를 계산하고 변수의 문장 수를 계산합니다. 참고: 영어 문장만 지원되며, 중국어는 지원되지 않습니다.

index.php

$str = <<assign(&#39;str&#39;, $str);

index.html

   
<{$str|count_sentences}>

결과는 다음과 같습니다. 2

6. count_words

단어 수를 계산하여 변수의 단어 수를 셉니다.

index.php

$str = <<assign(&#39;str&#39;, $str);

index.html

<{$str|count_words}>

결과는 다음과 같습니다. 12

7. date_format

날짜 형식, 특정 매개변수가 많이 있습니다. 여기에는 중국어 날짜 형식의 예만 있습니다.

index.php

$tpl->assign(&#39;date&#39;, time()); // 传递时间戳

index.html

<{$date|date_format:&#39;%Y-%m-%d %H:%M:%S&#39;}>

결과: 2012 -01-26 14:37:22

8. default

기본값, 변수가 비어 있거나 할당되지 않은 경우 지정된 기본값이 출력됩니다. 대신에.

index.php

$tpl->assign(&#39;str&#39;, &#39;&#39;); // 赋值给空

index.html

<{$str|default:&#39;默认输出...&#39;}>、<{$string|default:&#39;没有定义,默认输出...&#39;}>

결과는 다음과 같습니다: 기본 출력..., 정의 없음, 기본 출력...

9. escape

트랜스코딩, html 트랜스코딩, url 트랜스코딩에 사용, 단일 변환 트랜스코딩, 16진수 트랜스코딩, 16진수 미화 또는 자바스크립트 트랜스코딩 없이 변수에 따옴표를 붙입니다. 기본값은 html 트랜스코딩

index.php

$html = <<Google
html;
$js = <<
  for (var i=0; i<100; i++) {
    window.alert(i);
  }
js;
$tpl->assign(&#39;html&#39;, $html); // html
$tpl->assign(&#39;url&#39;, &#39;http://www.google.com.hk&#39;); // url
$tpl->assign(&#39;js&#39;, $js); // javascript

index.html

HTML 转码:<{$html|escape:"html"}>
URL 转码:<{$url|escape:"url"}>
JS 转码:<{$js|escape:"javascript"}>

결과는 다음과 같습니다.

HTML 转码:Google
URL 转码:http%3A%2F%2Fwww.google.com.hk
JS 转码:

10. indent

들여쓰기, 각 줄은 문자열을 들여쓰기합니다. 첫 번째 매개변수는 들여쓰기할 문자열 수를 지정하며, 기본값은 4자입니다. 두 번째 매개변수는 들여쓰기를 대체하는 데 사용할 문자를 지정합니다.

11.lower

소문자, 변수 문자열을 소문자로 지정합니다.

사용법: 750a9f85df50488af5b1b9f9539cd4b5

12.upper

대문자, 변수를 대문자로 변경합니다.

사용법: 98cba6331cf99290e107dcab961d573a

13.nl2br

줄 바꿈은

으로 대체됩니다. 이는 PHP의 nl2br() 함수와 동일합니다.

14.regex_replace

정규 교체, 정규식 찾기 및 교체, 구문은 preg_replace()와 동일합니다.

index.php

$tpl->assign(&#39;str&#39;, &#39;http://www.google.com&#39;);

index.html

<{$str|regex_replace:&#39;/go{2}gle/&#39;:&#39;baidu&#39;}>

결과는 다음과 같습니다. http://www.baidu.com

15. 바꾸기

바꾸기, 간단한 검색 및 바꾸기 문자열입니다.

16. spacify

공백을 삽입하세요. (이 단어는 이름처럼 공백이나 다른 문자를 삽입하는 방법입니다.) 문자열(문자열)의 각 문자 사이.

index.php

$tpl->assign(&#39;str&#39;, &#39;hello world!!!&#39;);

index.html

<{$str|spacify:"^^"}>

결과는 다음과 같습니다. h^^e^^l^^l^^o^^ ^^w^^o^^r^^l^^d^^!^^!^^!

17. string_format

문자열 형식 지정은 sprintf 구문을 사용하여 부동 소수점 숫자 형식을 지정하는 방법입니다.

index.php

$tpl->assign(&#39;num&#39;, 23.5787446);

index.html

<{$num|string_format:"%.2f"}>
<{$num|string_format:"%d"}>

결과는 다음과 같습니다. 23.58, 23

18, Strip

반복되는 공백, 줄 바꿈 및 탭을 모두 단일

index.php

로 바꿉니다.

$tpl->assign(&#39;str&#39;, "Grandmother of\neight makes\t  hole in one.");

index.html

<{$str|strip:" "}>

결과는: 여덟 구멍의 할머니 make in one.

소스 코드:

여덟 살의 할머니가 구멍을 뚫습니다.

19.strip_tags

< ; <를 포함한 태그.

index.php

$tpl->assign(&#39;str&#39;, "Google");

index.html

<{$str|strip_tags}>

결과는 다음과 같습니다. Google(소스 코드도 Google이며 태그와 태그가 제거됨)

20, truncate

截取,截取字符串开始的一段.默认是80个,你可以指定第二个参数作为在截取的那段字符串后加上什么字符,默认情况下,smarty会截取到一个词的末尾,如果你想要精确的截取多少个字符,把第三个参数改为"true" 。

index.php

$tpl->assign(&#39;str&#39;, &#39;从前有座山,山上有座庙。庙里有一个老和尚和一个小和尚...&#39;);

index.html

<{$str|truncate:10:&#39;...&#39;:true}>

   

结果为:从前有座山,山...

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

更多PHP模板引擎Smarty内置变量调解器用法详解相关文章请关注PHP中文网!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.