使用 simple_html_dom 库解析 html 内容
之前使用过 simple_html_dom 这一类库做解析,这一类库本身并不大,可以直接引入文件,让后封装到 helper 或者全局函数库里以备随时使用。下载文件:simple_html_dom.txt ,下载后将文件后缀修改为 .php 即可。github 原始地址:samacs/simple_html_domgithub 最新维护地址:Simple Html Dom Parser for PH
之前使用过 simple_html_dom 这一类库做解析,这一类库本身并不大,可以直接引入文件,让后封装到 helper 或者全局函数库里以备随时使用。下载文件:simple_html_dom.txt ,下载后将文件后缀修改为 .php 即可。github 原始地址:samacs/simple_html_domgithub 最新维护地址:Simple Html Dom Parser for PH
我习惯用 number_format 函数,返回类型为字符串:number_format($price, 2, '.', '');后面两个参数依次为小数点符号和千分之符号(默认,,所以需要手动去除)还有一个专门处理字符串格式化输出的方法 sprintf:sprintf('%.'.$precision.'f', $pri
测试 php 序列化后设置 cookie 返回 false 时报错:php Warning: Cannot modify header information - headers already sent by...。网上找到了原因:在修改 header 信息之前存在输出内容。这与之前碰到过的 ob_start('ob_gzhandler'); 执行错误 和 header("Content-typ
如题,在接入百度统计接口数据时发现,使用百度账号接口的 百度账号登录 流程报错:错误代码:redirect_uri_mismatch,错误信息:Invali redirect uri,详细描述:授权回调地址错误。具体内容请开发者参考“redirect uri”验证方式。按照百度的帮助文档去定位错误原因,然后通过 百度账号接口说明 中的 百度开发者中心控制台 登录到项目工程列表,里面是之前创建的一些
学习 php 的时候有看到过相似的总结归纳,但还是会忘,只有自己在实践中犯错了才能印象深刻。很多时候会把一个字符串、或者一个数组作为判定条件,然后不经意间就犯错了。比如 '0' == false 是 ok 的,但 '0.0' 值为 true。数组里面 array() == false 是 ok 的,但 array(0) 值为 true。== 在判断条件里是会
不推荐将数组数据通过 serialize() 存储到 cookie 中,因为:Cookie 名称可以设置成数组名称,PHP 脚本里会是数组, 但用户系统里储存的是单独分开的 Cookie。 可以考虑使用 explode() 为一个 Cookie 设置多个名称和值。 不建议将 serialize() 用于此处,因为它会导致安全漏洞。—— 注释 - setcookie - php.net这边仅作测试使
因为 substr() 针对的是英文字符串,中文字符串需要用 mb_substr()。为什么使用了 mb_substr() 之后依然出现乱码呢?这与 mb_substr("为中华之崛起而读书",0, 6, "utf-8") 中的第一个参数和第四个参数有关。参考 php 判断字符串长度 strlen() 与 mb_strlen() 函数用法与不同环境下的测试,
2021-04-14 更新整理之前的项目,使用 codeigniter 框架。在用户登录之后会更新以下最后登录时间,数据库里使用了 datetime 存储,查看记录发现,数据库写入的日期 2021-04-14 08:29:07 与当前系统显示的时间(当前东八区时间)相差(慢)了 6 个小时。网上查找资料,回顾了以下 php 中获取和设置时区的函数 date_default_timezone_get
经过昨天的 PHP 脚本注入代码分析,在删除了相关注入代码后并保存后,今早官网访问又异常了。页面显示空白,与昨日场景如出一辙,但我查看那个公共文件,并没有发现注入代码,似乎一切都很正常。在彻底卸载相关软件后,依然没有恢复。没办法,只能通过设置输出锚点来确认产生错误的位置。echo 1; exit();查找到产生错误的位置(destoon - b2b 框架):($DT['gzip_enab
之前经历过一次网站被挂马 网站入口文件被劫持(网站被挂马)事件回顾,因为网站使用了 HTTPS 协议,引入外部 js 脚本会产生跨域错误,引入会失败。所以虽然网站入口文件被篡改了,但其通过“挂马”传播“灰产”网站的目的并没有实现。这一次是后台页面显示不正常,然后线上调试找到了一段 PHP 脚本注入代码:header("Content-Type: text/html;charset=utf