之前就有博友跟我说, 我的blog在IE6下页面乱了.
一直懒得弄, 今天有点时间, 打算调整下.
找了半天, 罪魁祸首原来是我给pre设置的左边框, 具体原因我还不知道.. 有知道同学, 指点我一下... hack以后,,就好了:
pre { border-left: 15px corlor solid; _border-left:none; //可恶的IE6 }
每当这个时候, 我就会忠心的感谢发现这些css Hack的先驱们....
左手代码右手诗
之前就有博友跟我说, 我的blog在IE6下页面乱了.
一直懒得弄, 今天有点时间, 打算调整下.
找了半天, 罪魁祸首原来是我给pre设置的左边框, 具体原因我还不知道.. 有知道同学, 指点我一下... hack以后,,就好了:
pre { border-left: 15px corlor solid; _border-left:none; //可恶的IE6 }
每当这个时候, 我就会忠心的感谢发现这些css Hack的先驱们....
今天有人问我, 说他看到有PHPer在说unless语句, 我很是纳闷, 后来才知道, 原来是一个国外的PHP大牛自己Hack了PHP的源码, 加入了一个unless语句.
很有意思, 今天, 我也就在这里为大家演示, 如何为我们自己的PHP加入unless语句..
今天同事反馈一个问题, PHP5.2.x在使用反射做函数包装的时候, 得到"Invocation failed"的异常, 而使用call_user_func代替则不会,
原逻辑太复杂, 经过精简以后可重现异常的代码如下(使用ReflectionFunction为例, ReflectionMethod类似):
function who(&$name) { echo $name; } $name = "laruence"; $method = new ReflectionFunction("who"); $method->invokeArgs(array($name)); //异常: Uncaught exception 'ReflectionException' with message 'Invocation of function who() failed'with 8 Comments
黑夜路人前段时间, 本着分享/总结的精神, 计划要总结下PHP常用的调试技术, 就一些问题找到了我..
如今第一版的PHP调试技术手册已经发布.
冠以我名, 我甚感惶恐, 只能一并赞下小黑的nice了~
下载地址: http://heiyeluren-doc.googlecode.com/files/PHP-Debug-Manual-public.pdf
PHP中, 传递Callback的方式, 一直很丑陋. 在PHP5.3以前, 我们只有俩种选择:
1. 字符串的函数名 2. 使用create_function的返回值
在PHP5.3以后, 我们多了一个选择, 也就是Closure,
$func = function () { ... }; array_walk($arr, $func);
今天,Tank问了一个问题, 对于如下的正则:
/<script>.*?<\/script>/is
当要匹配的字符串长度大于100014的时候, 就不会得出正确结果:
$reg = "/<script>.*?<\/script>/is"; $str = "<script>********</script>"; //长度大于100014 $ret = preg_replace($reg, "", $str); //返回NULL
难道正则对匹配的串有长度限制?
with 35 Comments今天cici网友发来一个问题, 说是在函数调用参数前面使用错误抑制符号(@)的时候, 貌似引用传参就失效了. 他想让我帮他解答为什么.
看下面的例子:
.....
这个问题, 我之前没有遇到过, 所以首先去找找相关资料, 看看有没有现成的答案, Goolge了一番, 发现虽然有人已经向PHP报了类似的Bug:http://bugs.php.net/bug.php?id=47623, 但PHP官方还没有解决, 也没有给出答复.
没办法, 只能自己分析了...
PHP为了避免数字索引和数字字符串索引(注1)的混乱, 引入了zend_symtable_*系列函数, 并应用于数组中.
这样一来, 数字字符串索引也就会被当作数字索引, 然而总是有一些情况, 是PHP的维护者没有想到的...
比如, 类型转换时刻.
完成了第一版的bTwitter, 完美支持linux命令行下使用推特.
有几点说明:
1. 脚本假设终端是UTF-8的, 如果不是, 请自行iconv之类的. 2. 脚本中in_reply_to, 不知何故, 不能正常在推下方显示, 谁知道为什么? 3. 新浪微薄的API地址,调用很类似, 可以方便的修改以后用到新浪微薄中.
下载:http://code.google.com/p/btwitter/downloads/list
Be Lazy, 懒得能不动鼠标, 就不愿动鼠标..
今天在推上看到有人的下面缀着"via bash", 好奇怎么做到, 找来推的API, 其实挺简单..
直接上代码, 不解释了, 只是有几点解释下
1. 如果是VPN, 不用代理, 就取消-x选项 2. 脚本直接从STDIN读取内容,内容需要是UTF-8编码, 如果你的终端不是, 那请在脚本中添加iconv 3. 做到完全脚本浏览/发推也是可以的. 4. 新浪微薄也有REST API, 理论上也是可以这么搞的.with 11 Comments