이 글은 주로 PHP Smarty에서 구분자 충돌을 처리하는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.
Css 및 js에서 기본 구분 기호 "{"가 "{"와 충돌합니다. 어떻게 처리해야 하나요?
1. {로 시작하는 모든 공백은 비워두어야 합니다. (Smarty는 구분 기호 내의 내용만 구문 분석하며 왼쪽 구분 기호 뒤에는 공백이 없어야 합니다.)
2. 외부적으로 CSS 및 js를 소개합니다. (Smarty는 외부 파일을 구문 분석하지 않습니다.)
3. 내장 함수 리터럴을 사용합니다.
4. 구분자를 변경하세요.
충돌을 해결하는 가장 좋은 방법: CSS와 JS를 외부에 도입하고 내부에는 리터럴을 사용합니다.
index.php(백엔드):
<?php //1.引入smarty类 include 'libs/Smarty.class.php'; //2.实例化smarty对象 $smarty = new Smarty(); //3.设置相关属性 $smarty->template_dir = "templates/"; //模板目录 $smarty->compile_dir = "templates_c"; //编译目录 //修改定界符 $smarty->left_delimiter = '<{'; //自定义定界符,默认是"{" $smarty->right_delimiter = '}>'; //4.分配数据 $smarty->assign('title','smarty模板引擎'); $smarty->assign('content','smarty模板引擎 是一个强大的模板引擎!'); //5.载入视图 $smarty->display('index.html');
index.html(프런트엔드 보기):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{$title}</title> <style> <{literal}> <{* 通过literal函数解决定界符"{"在CSS和JS中的冲突。Smarty会自动解析定界符内的内容(不会解析引入的外部文件)。也可以通过自定义定界符解决冲突。 *}> h1{color:tomato; font-size:40px;} p{color: #00f;} <{/literal}> </style> </head> <body> <h1><{$title}> $title</h1> <{* 只有定界符内的内容才会被Smarty解析,且左定界符后不能有空格 *}> <p><{$content}></p> <p><?php echo $title;?></p> <{* 不会解析PHP代码 *}> <{* 这是注释 *}> </body> </html>
관련 권장 사항:
PHP의 구분자 heredoc 기술에 대한 자세한 설명
위 내용은 PHP Smarty에서 구분 기호 충돌을 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!