PHP接受JSON数据时需要注意魔术引号

今天碰到一个问题,前端post一坨已经序列化好的JSON数据,传到后端后,PHP解析不出来,用PHP直接解析一个正常json字符串是好使的。说明PHP接到字符串后做了一些处理,导致json_encode不能解析。首先想到魔术引号,当打开时,所有的 ‘(单引号),“(双引号),\(反斜线)和 NULL 字符都会被自动加上一个反斜线进行转义。这和 addslashes() 作用完全相同。我本地的系统正是因为开启了魔术引号,php接到json字符串后将双引号转义了。通过下面方法解决:

Tags:

Web开发人员感兴趣的15个开源项目[转载]

如今,构建网站和开发Web应用程序已经不仅要求开发人员是一名优秀的程序员,更需要聪明的程序员。这也就是说,在可能的情况下,重复使用已有的代码和应用程序,而不是自己重头开始。
开源由来已久,并且很多网站的构建也使用了开源。开发人员都知道Linux、Apache、MySQL及 PHP (LAMP)。
但是除那些之外的其他开源项目呢?作为一名Web开发人员,你可以借助诸多可用的项目,以节省开发时间,或提高程序性能。
下面让我们看一下哪些开源项目可供大家免费使用。

Tags:

preg_replace_callback()调用类中的回调函数

最近项目中使用preg_replace_callback,需要使用它执行正则匹配时回调类中的方法,需要有一些注意的地方,做个记录。PHP文档中这样介绍 preg_replace_callback:(PHP 4 >= 4.0.5, PHP 5中可以使用),该方法用回调函数执行正则表达式的搜索和替换,本函数的行为几乎和 preg_replace() 一样,除了不是提供一个 replacement 参数,而是指定一个 callback 函数。该函数将以目标字符串中的匹配数组作为输入参数,并返回用于替换的字符串。

Tags:

收集:一些PHP常用技巧

收集了一些常用的PHP使用技巧,有的可能广为人知,有的可能你还不知道,记录下来,供查阅。
收集的这些技巧主要是为了提高程序执行效率,也方便以后开发注意事项。比如用单引号代替双引号来包含字符串,这样做会更快一些。因为 PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中 说echo是语言结构,不是真正的函数,故把函数加上了双引号)。

Tags:

IE下使用HTML5元素

当下HTML5在产品中的引入可能更多的是希望为日后的扩展和新技术提供支持,优化搜索。而IE不认识这些HTML5的标签,但有一个简单的办法让IE能把样式作用到未知的元素上,只需要在元素解析前这样做:

Tags:

合并google-syntax-highlighter的JS文件

本站代码高亮一直使用的是google-syntax-highlighter这个插件,原理是在文档尾部插入JS文件,每种程序语言对应一个JS文件,由Javascript找文档中的代码节点然后将代码文本按照设置的代码种类格式化,这个工作由前端来做。但是多达十几个的JS请求延长了页面加载时间。合并成一个JS文件来加载,是一个不错的选择,做就做得彻底点,还可以将google-syntax-highlighter用到的CSS文件合并到站点统一的样式文件中来加载。结果证明确实可以加快加载速度。更好的方式,可以在后台判断文档中需要输出何种代码,然后将需要的JS文件合并输出,这个留着有时间弄吧。
趁着周末有点时间,今天还实现了本站的左侧  留言显示区(牛人指点) 翻页。。。

Tags:

超出容器部分内容显示省略号的可行方案

一个Web项目中有装载数据的表格,表格列可以拖拽调整宽度,在IE下可用text-overflow:ellipsis样式实现 超出列宽的内容以省略号代替,无奈标准浏览器不支持。网上的许多方案也不完美,有的利用hack手法能在Firefox下显示省略号,但是在字符没有超过宽度的情况下也会显示。如果用前端脚本来处理的话又感觉浪费了性能。最后采取了火狐的如下方式:

Tags:

Flash与HTML5之争甚嚣尘上

正当HTML5的普及还有很长的一段路途,Adobe阵营在最近迎来了前所未有的质疑、数落和批评。包括苹果在内的巨头似乎要致Flash于死地,而各种流言蜚语也纷至沓来,一一数落Flash长短,当然其中也不免有力挺Flash的忠实拥趸。而作为Web技术幻景或未来标准的HTML5则得到大多数的支持和憧憬。下面收集了一些最近见诸媒体的关于Flash与HTML5之争的新闻,看来这场战争还会持续相当长一段时间,与其说是标准之争,说到底,这是双方阵营的一场利益之争。暂且坐山观虎斗吧。

Tags:

IE6也认识!important

!important一般用来做区分IE6和Firefox等浏览器的基本Hack手法。因为IE6不支持!important,而Firefox能读懂!important,其改变了样式的优先级。其实IE6在某些情况下,也能认识!important。

Tags:

一个JavaScript类型判断函数

根据ECMA-262中的解释,Object.prototype.toString(),将返回对象实例的类型,返回格式[object class ]字符串。所以 通过 slice截取’class’值,也就是类型值。其中null与undefined例外,因为他们返回的是IE中[object Object],标准浏览器[object Window]。因此单独拿出判断。

Tags:

  • Tags Cloud

    • (2) (2) (12) (2) (2) (6) (11) (2) (3) (3) (3) (21) (7) (3) (3) (10) (3) (2) (2) (23) (2) (2) (4) (3) (4) (2) (18) (3) (2) (2) (3) (2) (3) (2) (2) (3) (3) (3) (14) (3) (2) (6) (3) (2) (2)

      WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.

  • 赞助商

    AD载入中……