分类目录归档:PHP

css控制文字显示2行

在编写页面的时候,经常遇到一些地方的文字显示1行,多余的文字隐藏,这样显示1行的很好控制:

css代码如下:

white-space: nowrap;  

overflow: hidden;  

text-overflow: ellipsis;  

3行代码搞定,这个很常见。但是要是2行文字显示多余隐藏呢,我之前在网上搜到的很多说什么用js去控制,用php控制。。。等等诸如此类的复杂方法,为什么不能同样用css去控制呢?后来找到答案了,用css同样可以去控制2行文字显示多余隐藏。

css代码如下:

text-overflow: -o-ellipsis-lastline;  overflow: hidden;  text-overflow: ellipsis;  display: -webkit-box;  -webkit-line-clamp: 2;  -webkit-box-orient: vertical;  

更方便的是改变webkit-line-clamp的值还可以实现3、4、5等等多行文字显示多余隐藏的效果~

php安装inotify扩展

inotify是pecl的扩展之一.

需要pecl扩展库,则需要安装pear
php编译pear,编译参数加–with-pear就可以了

安装完之后在/home/system/php/bin目录会有pecl和pear命令

执行/home/system/php/bin/pecl install inotify
就会安装,安装完后提示你再php.ini文件中加入extension=inotify.so

加入后就完成了

一个update语句,多表条件

update yunqikds_companys left join yun_industry on yun_companys.industry = yun_industry.main set yun_companys.industry = yun_industry.id where yun_companys.industry = yun_industry.main;

where条件必须有

left join TABLE on 条件

再来几个

update yun_companys left join sheet1 on yun_companys.unitcode = sheet1.统一社会信用代码 set yun_companys.unittype=sheet1.企业性质 where yun_companys.unitcode=sheet1.统一社会信用代码;

update yun_companys left join sheet1 on yun_companys.unitcode = sheet1.统一社会信用代码 set yun_companys.scope=sheet1.经营范围 where yun_companys.unitcode=sheet1.统一社会信用代码;

update yun_companys left join sheet1 on yun_companys.unitcode = sheet1.统一社会信用代码 set yun_companys.address=sheet1.地址 where yun_companys.unitcode=sheet1.统一社会信用代码;

获取状态函数

获取状态
    public function getStatus(){
      $sql = 'select setup from field as f,(select id as tid from module where name=\'coupons\') as t where t.tid=f.module_id and f.field=\'status\'';
      $res = Db::query($sql);

      $arr = unserialize($res[0]['setup']);

      $strStatus = $arr['options'];

      // var_dump(explode("\s",$strStatus));die();   //换行用PHP_EOL不行
      $arrStatus = var_dump(preg_split('/[\s]+/',$strStatus));
      
      return $arrStatus;
   }

kds应用的

$field_list = db::name('field')
->where('module_id=' . $module_id)
->where($where_field_group)
->order('listorder asc,id asc')->select();

field_group没传入,导致查询为空,model模型中的edit方法.

网页不允许复制破解,三条js解决

网页不允许复制破解

一般都是通过js做限制,例如onselectstart等

chrome浏览器为例,网页:https://m.techan.com/produce/zkgeb.html为例,去掉网页的复制限制,运行完如下,可以选择复制

图片详情

步骤:

1\chrome浏览器,F12打开开发者工具

2\点开控制台,输入图片中的三条js语句:

document.onselectstart=null;

document.ondragstart=null;

document.body.contentEditable=’true’;

3\然后就没了

4\去掉右键菜单屏蔽办法:

JSON.stringify,把对象转为字符串

JSON.stringify()

JSON 通常用于与服务端交换数据。

在向服务器发送数据时一般是字符串。

我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。

语法

JSON.stringify(value[, replacer[, space]])

参数说明:

  • value:必需, 要转换的 JavaScript 值(通常为对象或数组)。
  • replacer:可选。用于转换结果的函数或数组。如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:””。如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。当 value 参数也为数组时,将忽略 replacer 数组。
  • space:可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 也可以使用非数字,如:\t。

JavaScript 对象转换

例如我们向服务器发送以下数据:var obj = { “name”:”runoob”, “alexa”:10000, “site”:”www.runoob.com”};

我们使用 JSON.stringify() 方法处理以上数据,将其转换为字符串:var myJSON = JSON.stringify(obj);

myJSON 为字符串。

我们可以将 myJSON 发送到服务器:

PHP提取富文本字符串中的纯文本,并进行进行截取

PHP提取富文本字符串中的纯文本,并进行进行截取

this is my first markdown article,i hope you like it


     * 提取富文本字符串的纯文本,并进行截取;
     * @param $string 需要进行截取的富文本字符串
     * @param $int 需要截取多少位
     */
    public static function StringToText($string,$num){
        if($string){
            //把一些预定义的 HTML 实体转换为字符
            $html_string = htmlspecialchars_decode($string);
            //将空格替换成空
            $content = str_replace(" ", "", $html_string);
            //函数剥去字符串中的 HTML、XML 以及 PHP 的标签,获取纯文本内容
            $contents = strip_tags($content);
            //返回字符串中的前$num字符串长度的字符
            return mb_strlen($contents,'utf-8') > $num ? mb_substr($contents, 0, $num, "utf-8").'....' : mb_substr($contents, 0, $num, "utf-8");
        }else{
            return $string;
        }
    }