PHP Smarty 定界符冲突该如何处理
程序员文章站
2022-03-13 21:38:42
...
本篇文章主要介绍PHP Smarty 定界符冲突该如何处理,感兴趣的朋友参考下,希望对大家有所帮助。
默认定界符"{"与css和js中的"{"冲突,该如何处理?
1. 所有以{ 开头的地方,都空一格。(Smarty只会解析定界符内的内容,且左定界符后不能有空格)
2. 将css和js以外部的方式引入。(Smarty不会解析外部文件)
3. 使用内置函数 literal。
4. 更改定界符。
解决冲突最好的方式:外部引入css和js,对于内部出现的使用literal。
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 Smarty 定界符冲突该如何处理的详细内容,更多请关注其它相关文章!
上一篇: PHP中的for循环怎样嵌套
下一篇: php正则表达式入门详解
推荐阅读
-
获取JS选择到的多个ID,传参数跳转到PHP页面,该如何处理
-
网页嵌套php,该如何处理
-
thinkphp 在哪里读取的Conf/conf.php文件里的数据库配置信息,该如何处理
-
smarty的foreach能否遍历oop对象呢?该如何处理
-
用eclipse开发php服务器设置无效,该如何处理
-
100分求PHP开发环境,该如何处理
-
php从数据库中选取ID在数组中存在的记录,并按数组中的顺序排列?该如何处理
-
写一个php文件 比如 baidu.com/a.php?url=google.com 会立即跳转到google,该如何处理
-
在服务器上搭的环境,smarty报错,该如何处理
-
在服务器上搭的环境,smarty报错,该如何处理