代码分享之合法校验过滤编辑器提交的HTML内容
性,style 属性其实也有一定的风险,容易造成页面样式错乱,但是大部分编辑器生成的 HTML 还是包含 style 属性的。对 style 属性里面的 CSS 没有再做分析,以后有时间再补充。代码中使用了 Closure,因此需要 PHP 5.3 以上的版本才能跑。另外里面用到了函数 array_get,这个不是 PHP 内置函数,使用的时候需要注意修改。function HtmlFilter( $...
PHP 5.5 新特性 ::class 获取类名字符串
看 Laravel 的源代码,之前在 Provider 里面是直接用字符串来配置需要的服务,新版本之后,代码发生了一些变化,使用的是类名加双冒号加关键词 class 来配置需要的服务。 Laravel 更新太快,要求的版本是 PHP5.5.9 以上,但是商业气息太浓,性能太低。不得不感叹,真是一用 Laravel,就像是女星嫁入豪门从此深似海。 使用 var_dump() 打印 类名::class,...
spring boot jpa 多个数据源配置
配置成功,看了好多资料,官方的文档,非官方的文档,网上的不靠谱教程,连接数据库后,提示找不到表名。后来才知道是因为我按照官方的 Demo 一步一步的学习 Spring Boot 框架,官网的例子里启动使用的是 @EnableAutoConfiguration 注解。后来修改为 @SpringBootApplication 注解搞定。写 Java 代码,import 包名一定要写完整,千万不要使用 * ...
解决configure: error: Cannot find OpenSSL's <evp.h>
PHP 的后期新版本由于某些版权问题,不再默认支持 mysql 扩展,官方推荐使用 mysqli 和 pdo_mysql。在使用源代码安装 PHP 时,默认是不会安装 pdo_mysql 扩展的,这样动态编译 mysqlnd、pdo_mysql 扩展会报一些奇怪的错误,如下:configure: error: Cannot find OpenSSL's <evp.h> 尝试了很多方法,依然解决不了这个...
PHP简写三目运算符实现二选一
样,或运算返回的是二选一。如果要在 PHP 中实现二选一,是不可以那样写的。很久以前也看到过三目运算的简写,之后再也没见到过那种写法,真的太少见,最近一次看到,让我觉得有点陌生。 在 PHP 中,可以使用三目运算符简写的方式实现二选一,如下示例: $name = $obj->name ?: 'Anonymous'; 好的程序员应该写出好的代码,好的代码就应该选择一种最好的方式来写,而不是去写一些很奇怪...
使用命令行修改当前gnome终端的名称
使用 Gnome 主题,用的 ArchLinux,用了这么久,痛过痒过。 终于知道怎么修改终端的标题了,不然总是不知道这个 Terminal 是干什么用了,如果是 Windows dos 的环境,直接 title 命令就可以了。虽然不懂这条命令的含义,如下命令方式: echo -en "\033]0;New Terminal Name\a" gnome 主题的输入法都是够折腾的,每次切换应用后,默认...
PHP扩展PDO MySQL之PDOStatement::bindParam vs bindValue
现一个是引用,一个是普通传参。在测试修改操作的时候,发现数据库中最后一个字段和前一个字符串一样,int 类型没有收到影响,可能当时脑子太累的缘故,这个问题竟然搞了好久,第二天才弄清楚是因为在循环的时候使用了 bindParam 导致的。 MysqlPdoEnhance 驱动类已经上传到 LMLPHP 和 LBlog 中,LBlog 已经在初始化实例的时候自动选择对应的驱动类。这次改善使得 LBlog ...
使用PHP实现获取周的起始和结束日期
结束日期的方法有问题导致。需要弄明白这个问题,需要明白周是可以跨年的,比如 2015年的最后一周是第 53 周,日期是 2015 年的 12 月 28 日到 2016 年的 1 月 3 日。 所以当你使用 PHP 的 date 函数在 2016 年的 1 月 1 日获取周时,返回的值是 53,返回的年是 2016。如果没有弄清楚概念,还会以为是 2016 年的第 53 周呢。所以周和年是没有什么特别的...
谈谈HTML网页编辑器技术实现
前段时间终于把网站的编辑器做的还算有个样子了,至少符合我对编辑器的要求(使用简单,不能产生垃圾节点,能够和网站完美的融合,源码结构符合要求)。最近实在忙,忙的一直没有时间认真的去学点东西,拖到现在才写这篇文章,很多东西又忘记的差不多了。网站编辑器是非常重要的,重要到直接关系网站的成败。但目前没有哪一家公司重视过这样一个东西,随随便便找个开源的编辑器就用上了,以致于国内出不了牛逼的新闻媒体公司。大家去看...
在终端命令行使用SMTP协议发送邮件
最近使用 SMTP 协议连接 126 邮箱 smtp.126.com 发了一封邮件,开始几次都没有测试成功,一直提示 DT:SPM,在 126 服务器返回的链接中可以看到是被系统判定为垃圾邮件。如下响应: 554 DT:SPM 126 smtp6,j9KowAAHDGR3yR1Xi0s2CA--.28401S5 1461570156, please see http://mail.163.com/h...