http_build_query妙用

http_build_query这个函数可以很方便的构造一个请求所需要的参数。(不分GET,POST) 这个函数可以把一个数组转化为一串字符 栗子1: <?php $data = array('foo'=>'bar', 'baz'=>'boom', 'cow'=>'milk', 'php'=>'hypertext processor'); //第二个参数是分割使用的符号 echo http_build_query($data) . "\n"; echo http_build_query($data, '', '&amp;'); # foo=bar&baz=boom&cow=milk&php=hypertext+processor # foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor ?> 栗子二: <?php $data = array('user'=>array('name'=>'Bob Smith', 'age'=>47, 'sex'=>'M', 'dob'=>'5/12/1956'), 'pastimes'=>array('golf', 'opera', 'poker', 'rap'), 'children'=>array('bobby'=>array('age'=>12, 'sex'=>'M'), 'sally'=>array('age'=>8, 'sex'=>'F')), 'CEO'); //第二个参数,如果数组没有键值,则自动添加键值 echo http_build_query($data, 'flags_'); ?> 输出: user%5Bname%5D=Bob+Smith&user%5Bage%5D=47&user%5Bsex%5D=M&user%5Bdob%5D=5%2F12%2F1956&pastimes%5B0%5D=golf&pastimes%5B1%5D=opera&pastimes%5B2%5D=poker&pastimes%5B3%5D=rap&children%5Bbobby%5D%5Bage%5D=12&children%5Bbobby%5D%5Bsex%5D=M&children%5Bsally%5D%5Bage%5D=8&children%5Bsally%5D%5Bsex%5D=F&flags_0=CEO 把上面的请求传给一个PHP文件处理,打印传递来的参数,会得到以下结果: Array ( [_GET] => Array ( [user] => Array ( [name] => Bob Smith [age] => 47 [sex] => M [dob] => 5/12/1956 ) [pastimes] => Array ( [0] => golf [1] => opera [2] => poker [3] => rap ) [children] => Array ( [bobby] => Array ( [age] => 12 [sex] => M ) [sally] => Array ( [age] => 8 [sex] => F ) ) [flags_0] => CEO ) [_POST] => Array ( ) [_COOKIE] => Array ( [PHPSESSID] => 5u7l53inhrl5j1ojmn65ok4k44 ) [_FILES] => Array ( ) [GLOBALS] => Array *RECURSION* ) 很神奇吧!...

May 21, 2014 · 1 min · Me

wordpress自动生成文章目录

看过百度百科的同学都知道,如果百科文章比较长,那么他会生成一个目录,不仅增强了用户体验,还为文章引入了锚点内链,对SEO优化起到了十分积极的作用。 请不要以为这个功能很复杂,其实目录功能只是牵扯到一个正则,一个JS和一个CSS而已,对于我们wordpress来说,很多插件已经实现了此功能。 老高@PHPer使用的是一款名叫Content Index for WordPress的国人自制插件,功能强大,使用方便。 Content Index for WordPress 安装 wordpress内置的插件管理器搜索"Content Index for WordPress",安装即可。 使用 安装后请至wordpress后台->设置->文章内索引: 老高@PHPer使用如下配置: 开启 插件默认对所有文章关闭,如果你想在某一篇文章中使用目录,请在编辑日志页面勾选  在此文章/页面中开启 Tips 也许你已经发现了,PHPer@老高使用了锚点之间的平滑滚动,如果你也希望实现此效果,请将下面的代码引入你的文章模板中 $(document).ready(function() { $('a[href*=#]').click(function() { if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { var $target = $(this.hash); $target = $target.length && $target || $('[name=' + this.hash.slice(1) + ']'); if ($target.length) { var targetOffset = $target.offset().top; $('html,body').animate({ scrollTop: targetOffset }, 1000); return false; } } }); }); 注意 可能你还没发现,上面的代码会出现一些小问题,比如你的网站留言也会出现某些锚点,点击它们将会出现很多意想不到的效果,所以我们需要将锚点控制在目录范围内 因此,我们需要在第二行的Jquery代码做一些修改 $('a[href*=#]')....

March 16, 2014 · 1 min · Me