이 글의 예에서는 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:' Happy new year.'}>
결과는 Hello World!!! 새해 복 많이 받으세요.
4. count_paragraphs
계산합니다. 문단수, 변수의 문단수를 계산하여 중국어 문단을 완벽하게 지원합니다.
index.php
$str = <<assign('str', $str); $tpl->display('index.html');
index.html
<{$str|count_paragraphs}>
결과는 다음과 같습니다. 3
5.count_sentences
문장 수를 계산하고 변수의 문장 수를 계산합니다. 참고: 영어 문장만 지원되며, 중국어는 지원되지 않습니다.
index.php
$str = <<assign('str', $str);
index.html
<{$str|count_sentences}>
결과는 다음과 같습니다. 2
6. count_words
단어 수를 계산하여 변수의 단어 수를 셉니다.
index.php
$str = <<assign('str', $str);
index.html
<{$str|count_words}>
결과는 다음과 같습니다. 12
7. date_format
날짜 형식, 특정 매개변수가 많이 있습니다. 여기에는 중국어 날짜 형식의 예만 있습니다.
index.php
$tpl->assign('date', time()); // 传递时间戳
index.html
<{$date|date_format:'%Y-%m-%d %H:%M:%S'}>
결과: 2012 -01-26 14:37:22
8. default
기본값, 변수가 비어 있거나 할당되지 않은 경우 지정된 기본값이 출력됩니다. 대신에.
index.php
$tpl->assign('str', ''); // 赋值给空
index.html
<{$str|default:'默认输出...'}>、<{$string|default:'没有定义,默认输出...'}>
결과는 다음과 같습니다: 기본 출력..., 정의 없음, 기본 출력...
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('html', $html); // html $tpl->assign('url', 'http://www.google.com.hk'); // url $tpl->assign('js', $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 소문자, 변수 문자열을 소문자로 지정합니다. 사용법: 750a9f85df50488af5b1b9f9539cd4b512.upper대문자, 변수를 대문자로 변경합니다. 사용법: 98cba6331cf99290e107dcab961d573a13.nl2br줄 바꿈은 으로 대체됩니다. 이는 PHP의 nl2br() 함수와 동일합니다. 14.regex_replace정규 교체, 정규식 찾기 및 교체, 구문은 preg_replace()와 동일합니다. index.php
$tpl->assign('str', 'http://www.google.com');index.html
<{$str|regex_replace:'/go{2}gle/':'baidu'}>결과는 다음과 같습니다. http://www.baidu.com15. 바꾸기바꾸기, 간단한 검색 및 바꾸기 문자열입니다. 16. spacify공백을 삽입하세요. (이 단어는 이름처럼 공백이나 다른 문자를 삽입하는 방법입니다.) 문자열(문자열)의 각 문자 사이. index.php
$tpl->assign('str', 'hello world!!!');index.html
<{$str|spacify:"^^"}>결과는 다음과 같습니다. h^^e^^l^^l^^o^^ ^^w^^o^^r^^l^^d^^!^^!^^!
17. string_format문자열 형식 지정은 sprintf 구문을 사용하여 부동 소수점 숫자 형식을 지정하는 방법입니다. index.php
$tpl->assign('num', 23.5787446);index.html
<{$num|string_format:"%.2f"}> <{$num|string_format:"%d"}>결과는 다음과 같습니다. 23.58, 2318, Strip반복되는 공백, 줄 바꿈 및 탭을 모두 단일 index.php
로 바꿉니다.
$tpl->assign('str', "Grandmother of\neight makes\t hole in one.");index.html
<{$str|strip:" "}>결과는: 여덟 구멍의 할머니 make in one.소스 코드: 여덟 살의 할머니가 구멍을 뚫습니다.19.strip_tags< ; <를 포함한 태그. index.php
$tpl->assign('str', "Google");index.html
<{$str|strip_tags}>결과는 다음과 같습니다. Google(소스 코드도 Google이며 태그와 태그가 제거됨)20, truncate
截取,截取字符串开始的一段.默认是80个,你可以指定第二个参数作为在截取的那段字符串后加上什么字符,默认情况下,smarty会截取到一个词的末尾,如果你想要精确的截取多少个字符,把第三个参数改为"true" 。
index.php
$tpl->assign('str', '从前有座山,山上有座庙。庙里有一个老和尚和一个小和尚...');
index.html
<{$str|truncate:10:'...':true}>
结果为:从前有座山,山...
希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。
更多PHP模板引擎Smarty内置变量调解器用法详解相关文章请关注PHP中文网!