php Smarty里面truncate 类似的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php Smarty里面truncate 类似的用法相关的知识,希望对你有一定的参考价值。
php 里面有truncate类似的函数吗
也就是用来显示超过多少个字符后用..代替的函数
substr($string,$start,$length) 后面自己连接着...吗
//======上面解决了=====
<?php
$a="你是我的啊,我是谁的啊";
echo substr($a,0,7)."...";
?>
得到的结果是: 你是我?..
请问为什么后面有个?
为什么它截取半个字就会出现?
才会有?出现。 参考技术A 看看你的phpinfo是否开启了mb_string函数,
如果可以的话可以使用mb_substr 参考技术B 因为smarty的truncate默认只支持单字节字符,汉字是双字节的,所以它会截取不准,可以自己写一个,很简单(或者去网上搜一下,很多类似的文章) 参考技术C MB库比较好用
smarty函数
smarty里面包含两种函数:
一种是普通函数,一种是块函数。
用smarty模板从数据库读取数据在前台显示数据:
.php页面:
<?php require "../DBDA.class.php"; require "../init.inc.php"; $db = new DBDA(); $sql = "select * from info"; $arr = $db->query($sql); $smarty->assign("shuju",$arr); $smarty->display("test.html");
.html页面:
<body> <table width="100%" border="1"> <tr> <td>代号</td> <td>姓名</td> <td>性别</td> <td>民族</td> <td>生日</td> </tr> <{foreach $shuju as $v}> <tr> <td><{$v[0]}></td> <td><{$v[1]}></td> <td> <{if $v[2]}> 男 <{else}> 女 <{/if}> </td> <td><{$v[3]}></td> <td><{$v[4]}></td> </tr> <{/foreach}> </table> </body> </html>
<{ literal }>标签:
只要是被<{ literal }>括起来的含有定界符的就不会被解析掉。
<{literal}>
<{foreach $shuju as $v}> <tr> <td><{$v[0]}></td> <td><{$v[1]}></td> <td> <{if $v[2]}> 男 <{else}> 女 <{/if}> </td> <td><{$v[3]}></td> <td><{$v[4]}></td> </tr> <{/foreach}>
<{/literal}>
以上是关于php Smarty里面truncate 类似的用法的主要内容,如果未能解决你的问题,请参考以下文章
PHP项目SmartySmarty截取字符串方法truncate
php页面中的包含文件用相对路径(require_once("./smarty/smarty.class.php"))出错了怎么解决