第一个thinkphp项目遇到的知识
本文是于项目完成后所写,基本是想到 哪写到哪,所以顺序会很乱。
1.在后台处理ueditor这种文本编辑器的时候,会遇到取值问题,如果你想要取纯文本内容:getContentTxt(),没有段落格式;如果你想取带有段落格式的文本:getPlainTxt();如果你想取文本编辑器中的所有内容包括标签啊段落格式等:getContent();
2.正如1一样getContent()取到的值存到数据库中发现有很多特殊符号,这些特殊符号其实就是标签,然而当我们前台从数据库中调取这些内容时会发现前台显示的是 带有标签的例如这种:<p>今天不错</p>,这就很头疼了,后来网上翻阅资料,只需把数据库中取到的内容用函数 解析一下,这些标签就可以正常使用。用到的函数是 $prodbz=html_entity_decode($prodbz[0]['baozhang']),
得到的内容就是正常的:今天不错。当然图片也可以正常解析。
3.php中可以把数据库查询出来的数组变量转换成json格式,使用的函数为json_encode(),传到前台需要用到js来循环处理:项目中查到的数组为
前台js处理过程为:
<script>
$(".snews").mouseover(function(){
var leibie=$.trim($(this).text());
$.ajax({
type:"POST",
url:"{:U('news/newsindex')}",
data:{leibie:leibie},
dataType:"json",
success:function(data){
for (var i = 0; i < data.length; i++ )
{
for (var tmp in data[i])
{
switch(tmp){
case "title":
var cl= i+1;
$(".title_news"+cl).html("<a>"+data[i][tmp]+"</a>");
break;
case "description":
var ds= i+1;
$(".description_news"+ds).html(data[i][tmp]);
break;
case "img":
var im= i+1;
$(".img_news"+im).html("<img src='"+data[i][tmp]+"'/>");
break;
case "id":
var mr=i+1;
$(".more_news"+mr).html("<a href='news/jieshou?id="+data[i][tmp]+"' class='btn btn-default more'>更多></a>");
break;
}
}
}
}
});
})
</script>
4.thinkphp前台模板循环标签<volist> 里面既可以设置参数又可以计算循环的次数例如<volist name="user" id="vo" key="k">{$k}</volist>其中{$k}为每次循环的次数,
第一次循环{$k}=1,第二次{$k}=2.。。。。。。
5.
.今天研究了半天的截取字符串的方法。
正确的写法
{$a['a']['b']|substr=0,2} //显示前面,两个字符
{$a['a']['b']|substr=0,-2}//删除后面,两个字符
{$a['a']['b']|substr=2,-2}//删除前后,两个字符
{$a['a']['b']|substr=-4,2}//显示后4到前进2字符
{$a['a']['b']|substr=-4,-2}//显示后4到后2字符
第一个属性是定位,第二个是移动。
正数是前进。负数是才尾巴开始往前数。