PHP Smarty에서 구분 기호 충돌을 처리하는 방법

墨辰丷
풀어 주다: 2023-03-25 22:08:01
원래의
1783명이 탐색했습니다.

이 글은 주로 PHP Smarty에서 구분자 충돌을 처리하는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.

Css 및 js에서 기본 구분 기호 "{"가 "{"와 충돌합니다. 어떻게 처리해야 하나요?
1. {로 시작하는 모든 공백은 비워두어야 합니다. (Smarty는 구분 기호 내의 내용만 구문 분석하며 왼쪽 구분 기호 뒤에는 공백이 없어야 합니다.)
2. 외부적으로 CSS 및 js를 소개합니다. (Smarty는 외부 파일을 구문 분석하지 않습니다.)
3. 내장 함수 리터럴을 사용합니다.
4. 구분자를 변경하세요.

충돌을 해결하는 가장 좋은 방법: CSS와 JS를 외부에 도입하고 내부에는 리터럴을 사용합니다.

index.php(백엔드):

<?php  
//1.引入smarty类  
include &#39;libs/Smarty.class.php&#39;;  
//2.实例化smarty对象  
$smarty = new Smarty();   
//3.设置相关属性  
$smarty->template_dir = "templates/"; //模板目录  
$smarty->compile_dir = "templates_c"; //编译目录  
//修改定界符  
$smarty->left_delimiter = &#39;<{&#39;;    //自定义定界符,默认是"{"  
$smarty->right_delimiter = &#39;}>&#39;;  
//4.分配数据  
$smarty->assign(&#39;title&#39;,&#39;smarty模板引擎&#39;);  
$smarty->assign(&#39;content&#39;,&#39;smarty模板引擎 是一个强大的模板引擎!&#39;);  
//5.载入视图  
$smarty->display(&#39;index.html&#39;);
로그인 후 복사

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 구분 기호 EOF 설명

PHP 구분 기호 eof 사용 방법

PHP의 구분자 heredoc 기술에 대한 자세한 설명

위 내용은 PHP Smarty에서 구분 기호 충돌을 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿