Wordpress函数详解
- 格式:doc
- 大小:74.50 KB
- 文档页数:15
WordPress目录和文件介绍WordPress根目录(Root)▪index.php: WordPress核心索引文件,即博客输出文件。
▪license.txt:WordPress GPL许可证文件。
▪my-hacks.php:定义了博客输出之前处理的追加程序。
默认安装中并没有这个文件,但如果存在,它就会被管理页面引用。
▪readme.html: WordPress安装导言。
▪wp-atom.php:输出Atom信息聚合内容。
▪wp-blog-header.php:根据博客参数定义博客页面显示内容。
▪wp-cron.php▪wp-comments-post.php 接收评论,并把其添加到数据库。
▪wp-commentsrss2.php :用来生成日志评论的RSS2信息聚合内容。
▪wp-config-sample.php :把WordPress连接到[[MySQL数据库的示例配置文件。
▪wp-config.php :这是真正把WordPress连接到MySQL]]数据库的配置文件。
默认安装中虽不包括它,但由于WordPress运行需要这一文件,因此,用户需要编辑这个文件以更改相关设置。
▪wp-feed.php :根据请求定义feed类型并其返回feed请求文件。
▪wp-links-opml.php :生成OPML格式的链接(通过WordPress管理菜单添加)列表。
▪wp-login.php :定义注册用户的登陆页面。
▪wp-mail.php :用来获取通过邮件提交的博文。
这个文件的URL通常被添加到cron任务中,这样cron就会定期检索文件并接收邮件日志。
▪wp-pass.php :审核受密码保护文章的密码并显示被保护文章。
▪wp-rdf.php :生成RDF信息聚合内容。
▪wp-register.php :允许新用户通过联机表单注册用户名。
▪wp-rss.php :生成RSS信息聚合内容。
php常用函数PHP是一门非常流行的Web编程语言,它的强大功能和广泛的应用场景,使得PHP成为了Web开发领域的佼佼者。
在PHP中,有许多常用的函数可以帮助我们快速开发Web应用。
下面将介绍一些PHP常用函数。
字符串函数在PHP中,字符串函数是最常用的函数之一。
以下是一些常用的字符串函数:strlen():用于获取字符串的长度;substr():用于截取字符串的一部分;strpos():用于查找字符串中的子串;str_replace():用于替换字符串中的部分内容;strtoupper()和strtolower():分别用于将字符串转化为全大写和全小写;htmlspecialchars():用于将特殊字符转化为HTML实体,以避免跨站点脚本攻击。
数组函数数组是PHP中另一个非常重要的数据类型。
以下是一些常用的数组函数:count():用于获取数组的长度;array_push()和array_pop():分别用于向数组中添加元素和从数组中删除元素;array_merge():用于合并两个或多个数组;array_search():用于在数组中查找指定元素的位置;array_slice():用于截取数组的一部分。
文件操作函数在Web开发中,文件操作是非常常见的一个功能。
以下是一些常用的文件操作函数:fopen():用于打开一个文件;fwrite():用于向文件中写入内容;fread():用于从文件中读取内容;fclose():用于关闭一个文件;file_exists():用于判断一个文件是否存在。
日期时间函数在Web应用中,经常需要对日期和时间进行处理。
以下是一些常用的日期时间函数:time():用于获取当前时间的时间戳;date():用于格式化日期和时间;strtotime():用于将日期字符串转换为时间戳;mktime():用于获取指定日期时间的时间戳。
数学函数在Web开发中,数学计算是经常要用到的功能。
PHP常⽤函数⼤全php usleep() 函数延迟代码执⾏若⼲微秒。
unpack() 函数从⼆进制字符串对数据进⾏解包。
uniqid() 函数基于以微秒计的当前时间,⽣成⼀个唯⼀的 ID。
time_sleep_until() 函数延迟代码执⾏直到指定的时间。
time_nanosleep() 函数延迟代码执⾏若⼲秒和纳秒。
sleep() 函数延迟代码执⾏若⼲秒。
show_source() 函数对⽂件进⾏语法⾼亮显⽰。
strip_whitespace() 函数返回已删除 PHP 注释以及空⽩字符的源代码⽂件。
pack() 函数把数据装⼊⼀个⼆进制字符串。
ignore_user_abort() 函数设置与客户机断开是否会终⽌脚本的执⾏。
highlight_string() 函数对字符串进⾏语法⾼亮显⽰。
highlight_file() 函数对⽂件进⾏语法⾼亮显⽰。
get_browser() 函数返回⽤户浏览器的性能。
exit() 函数输出⼀条消息,并退出当前脚本。
eval() 函数把字符串按照 PHP 代码来计算。
die() 函数输出⼀条消息,并退出当前脚本。
defined() 函数检查某常量是否存在。
define() 函数定义⼀个常量。
constant() 函数返回常量的值。
connection_status() 函数返回当前的连接状态。
connection_aborted() 函数检查是否断开客户机。
zip_read() 函数读取打开的 zip 档案中的下⼀个⽂件。
zip_open() 函数打开 ZIP ⽂件以供读取。
zip_entry_read() 函数从打开的 zip 档案项⽬中获取内容。
zip_entry_open() 函数打开⼀个 ZIP 档案项⽬以供读取。
zip_entry_name() 函数返回 zip 档案项⽬的名称。
zip_entry_filesize() 函数返回 zip 档案项⽬的原始⼤⼩(在压缩之前)。
php使⽤phpword操作word读取word思路1. 加载word⽂件。
2. 循环判断加载出来的数据。
(数据下⾯有很多个节点)(节点是按照数据的类型分类的例如⽆样式的⽂本是RunText,换⾏是TextBreak,表格是table.....等)3. 循环判断他们的数据类型是什么进⾏读取。
4. 如果是⽂本的话就使⽤节点->getText() 就直接可以获取到⽂本内容表格的话有点⿇烦。
关于操作word的⼀些东西(本博源于这个博客)代码// 准备条件下载 phpword 的拓展库// 加载$source = IOFactory::load($filePath)->getSections();foreach ($source as$S){$elements = $S->getElements();if (!empty($this->GetElement($elements))){$arr = $this->GetElement($elements);$this->todoGo($arr,$tableCatId,$tableStageId,$filePath,$versionId);}}// 逐级读取/读取节点function GetElement($elements){$arrx=[];foreach ($elements as$k=>$e1){// 获取word对象中对应内容类型类的节点的类名$class = $this->getClass($e1);if ($class=='Table'){// 获取最⼤⾏$rows=count($e1->getRows());// 获取最⼤列$cells=$e1->countColumns();$arrx[$k]['rows']=$rows;$arrx[$k]['cells']=$cells;// 循环获取对应⾏和列下的单元格的⽂本内容for($i=0;$i<$rows;$i++){// 获取对应⾏$rows_a=$e1->getRows()[$i];for($j = 0; $j < $cells; $j++){// 获取对应列$x=$rows_a->getCells()[$j];$arrx[$k]['text'][$i+1][$j+1]=$this->getTextElement($x);}}}}}//获取⽂本的节点function getTextElement($E){$elements = $E->getElements();$xas='';$result = [];$inResult=[];$text=[];foreach($elements as$inE){$ns = get_class($inE);$elName = explode('\\', $ns)[3];if($elName == 'Text'){$result[] = $this->textarr($inE);}elseif (method_exists($inE, 'getElements')) {$inResult = $this->getTextElement($inE); }if(!is_null($inResult)){$result = array_merge($result, $inResult); }}return count($result) > 0 ? $result : null;}//获取⽂本function textarr($e){$textArr['text']=$e->getText();return$textArr;}。
代码审计基础今天分享一下我学习代码审计的一点经验,希望跟大家共同进步。
我们今天的主角是世界上最好的语言,没错,就是PHPPHP由于使用广泛,入门简单,主要适用于Web开发领域。
一般情况下,测试时黑盒的情况比较多。
有时我们获取到源码后,如果有代码审计基础就可以进行比较全面的测试,使渗透效率更高。
PHP静态代码审计分几个阶段,2007-2009正则表达式2009-2012借助词法分析,主要处理面向过程的代码部分2012-2016借助语法分析,抽象语法树AST,代码段,可以分析面向对象代码基本概念:危险函数,用户输入这里的漏洞定义可以这样来理解:用户输入经过各种操作,最终进入到危险函数,以危险的方式成功执行。
这里的用户输入是指GPCSF、数据库、文件等可能输入的点,危险函数如include,system等,当用户输入进到函数里面,并且要是以危险的方式执行,比如转义了,或者过滤了,这样就不能成功了。
大家了解到这个基本的概念之后,对后面的案例就会比较清晰。
然后我来给大家说一下学习方法:简单来说就是多分析,多思考。
在这里不得不提一套比较好的学习漏洞原理的教程——dvwa。
对于初学者,可以以dvwa为案例,分析漏洞原理。
掌握漏洞原理之后,对渗透测试的理解也会更深刻。
它是类型比较多,左边列出的类型基本是常用类型。
今天主要是讲人工审计,知道原理之后,大家可以借助工具进行分析。
如果大家还记得前面的漏洞的定义的话,就可以知道,这里是有2条路可以走的。
可以正向,可以逆向。
正着走,就是跟踪用户可控的输入,比如看到一个GET参数,跟踪这个参数最终是到哪一步了,是否进入到危险函数中,以危险的方式执行了。
那么逆着走呢?先找到危险函数,逆着看进入到这个函数的参数是否可控,一路找到来源,最终判断输入点。
中间分析的时候,需要留意一些过滤处理。
不同的人分析方式不一样,我比较喜欢大致浏览一下程序的架构,是否使用框架,MVC,是否有通用过滤等,这些都是需要考虑的。
php 字符串函数PHP是一种广泛使用的Web编程语言,它拥有许多强大的特性和函数集,可以让开发者轻松地编写出各种类型的Web应用程序。
其中很重要的一部分就是PHP中的字符串函数,这些函数可以让程序员方便地处理字符串数据,实现各种字符串的操作,下面我们来逐一分析一下。
1. strlen()函数strlen()函数是PHP中最简单的字符串函数之一。
它的作用是用来获取一个字符串的长度。
例如:$str = 'Hello World!';echo strlen($str);//输出:122. strpos()函数strpos()函数是用来查找某个字符串在另一个字符串中的位置。
例如:$str = 'Hello World!';echo strpos($str, 'World');//输出:63. str_replace()函数str_replace()函数是用来替换字符串中指定的值。
例如:$str = 'Hello World!';echo str_replace('World', 'PHP', $str);//输出:Hello PHP!4. substr()函数substr()函数是用来获取字符串中的一部分内容。
例如:$str = 'Hello World!';echo substr($str, 0, 5);//输出:Hello5. strtolower()和strtoupper()函数strtolower()和strtoupper()函数是用来将字符串转换为小写或大写。
例如:$str = 'Hello World!';echo strtolower($str);//输出:hello world!echo strtoupper($str);//输出:HELLO WORLD!6. trim()函数trim()函数是用来去除字符串中的空格或指定字符。
Wordpress4接口使用手册一、简介1、本接口应用于wordpress 4 POST文章发布;2、本接口支持多用户账号发布日志,账号应具备发布权限;3、本接口支持发布采集来的评论内容,评论用户可以免注册,详见发布参数ruser的说明;4、本接口支持发布自定义域(参数字段);5、本接口支持自由选择文章状态,如草稿、待审或发布;6、本接口支持附件入库;7、本接口支持自动缩略图;8、wordpress 是utf8网站,请在发布规则中选择编码为UTF-8;9、本接口基于wordpress英文原版制作,应用于其他版本时请自行测试调整;10、接口文件无须任何改动即可使用,如果你希望增加校验或其他功能,请仔细修改;11、3个接口文件请复制在wp-admin目录下使用;二、安装接口在接口文件夹中找到接口文件,如图:请将etchk.php、etpost.php、etreply.php等接口文件复制到指定目录,远程FTP上传请使用二进制方式上传,如图:三、配置发布规则1、将范例发布规则文本导入ET2发布配置,或使用软件内置发布规则范例,如图:2、将检查网址、发布网址和回复网址中的“您的网站”改为您要发布的网站网址,如图:3、在参数取值页,填上您要发布的网站分类目录ID,分类目录ID可留空,如图:这里查看分类目录ID:4、填上您的博客账号、密码,注意格式,这里的账号必须具备发布日志的权限,如图:5、您可以用免注册的用户名发布评论内容,ruser参数用于设置这类免注册的用户名,您可以在附加参数队列中填写它的值,也可以在采集规则中建立数据项采集它的值,两种方法不能同时使用,如果ruser参数为空,则使用账号密码队列中的账号发布评论。
a、在附加参数队列中的设置示范如下图:b、在采集规则中建立“回复人”数据项采集时的发布规则对应设置示范如下图:6、在附加参数中设置自定义参数名称,如图:7、你还可以用采集的方式获取自定义参数的值,如图:四、接口说明一、检查接口1、接口文件名etchk.php,为保密,请自行修改文件名;2、本接口文件请复制在网站wp-admin目录中使用,如果目录名有变更,请自行对应;3、主要参数post_title文章标题;vercode安全校验码,自行设定,并在检查接口文件开始处修改vercode使其一致;4、发布配置-检查网址处,可以如下填写:http://您的网址/wp-admin/etchk.php?post_title=<%title%>注:使用大小写敏感的服务器的用户请注意网址大小写和网站文件一致5、接口文件无须任何改动即可使用,如果你希望增加校验或其他功能,请仔细修改;二、发布接口1、接口文件名etpost.php,为保密,请自行修改文件名;2、本接口文件请复制在网站wp-admin目录下使用,为保密,请自行修改文件名;注:以下参数名后“=”号为示范取值而用,参数名本身不含“=”号;固定取值的参数,可以在发布规则-参数取值中设置;采集取值的参数项,请在发布规则-发布项中添加;3、必填参数log会员名参数名,对应的会员名取值填写在发布配置-参数取值-账号密码队列中,会员名必须具备发布日志的权限;pwd密码参数名,对应密码取值填写在发布配置-参数取值-账号密码队列中;post_title主题标题参数名;content内容参数名,若要进行内容分页,请使用数据整理将ET的内容分隔标记“#-0-#”替换为WP的分页标记“<!--nextpage-->”;4、主要参数vercode安全校验码,请自行设定,并在发布接口文件开始处修改vercode使其一致,本项用以防止接口被他人利用,如果需要进行更多校验,请自行填加相关代码。
恶意代码的函数调用图相似性分析
刘星;唐勇
【期刊名称】《计算机工程与科学》
【年(卷),期】2014(36)3
【摘要】恶意代码的相似性分析是当前恶意代码自动分析的重要部分.提出了一种基于函数调用图的恶意代码相似性分析方法,通过函数调用图的相似性距离SDMFG来度量两个恶意代码函数调用图的相似性,进而分析得到恶意代码的相似性,提高了恶意代码相似性分析的准确性,为恶意代码的同源及演化特性分析研究与恶意代码的检测和防范提供了有力支持.
【总页数】6页(P481-486)
【作者】刘星;唐勇
【作者单位】国防科学技术大学计算机学院,湖南长沙410073;国防科学技术大学计算机学院,湖南长沙410073
【正文语种】中文
【中图分类】TP309
【相关文献】
1.基于相似性分析的WordPress主题恶意代码检测 [J], 周振飞;方滨兴;崔翔;刘奇旭
2.基于函数调用图的二进制程序相似性分析 [J], 孙贺;吴礼发;洪征;徐明飞;周胜利
3.基于函数调用图的Android恶意代码检测方法研究 [J], 李自清
4.基于敏感权限及其函数调用图的Android恶意代码检测 [J], 祝小兰;王俊峰;杜
垚;白金荣
5.基于图标相似性分析的恶意代码检测方法 [J], 杨萍;赵冰;舒辉
因版权原因,仅展示原文概要,查看原文内容请购买。
WordPress数据库及各表结构分析默认WordPress⼀共有以下11个表。
这⾥加上了默认的表前缀 wp_ 。
wp_commentmeta:存储评论的元数据wp_comments:存储评论wp_links:存储友情链接(Blogroll)wp_options:存储WordPress系统选项和插件、主题配置wp_postmeta:存储⽂章(包括页⾯、上传⽂件、修订)的元数据wp_posts:存储⽂章(包括页⾯、上传⽂件、修订)wp_terms:存储每个⽬录、标签wp_term_relationships:存储每个⽂章、链接和对应分类的关系wp_term_taxonomy:存储每个⽬录、标签所对应的分类wp_usermeta:存储⽤户的元数据wp_users:存储⽤户在WordPress的数据库结构中,存储系统选项和插件配置的wp_options表是⽐较独⽴的结构,在后⽂中会提到,它采⽤了key-value模式存储,这样做的好处是易于拓展,各个插件都可以轻松地在这⾥存储⾃⼰的配置。
post,comment,user 则是三个基本表加上拓展表的组合。
以wp_users为例,wp_users已经存储了每个⽤户会⽤到的基本信息,⽐如 login_name、display_name、 password、email等常⽤信息,但如果我们还要存储⼀些不常⽤的数据,最好的做法不是去在表后加上⼀列,去破坏默认的表结构,⽽是将数据存在wp_usermeta 中。
wp_usermeta这个拓展表和wp_options表有类似的结构,我们可以在这⾥存储每个⽤户的QQ号码、⼿机号码、登录WordPress后台的主题选项等等。
⽐较难以理解的是term,即wp_terms、wp_term_relationships、wp_term_taxonomy。
在WordPress的系统⾥,我们常见的分类有⽂章的分类、链接的分类,实际上还有TAG,它也是⼀种特殊的分类⽅式,我们甚⾄还可以创建⾃⼰的分类⽅法。
3.0.3版本优美的个人信息发布平台写在最前 ...WordPress 对我来说是一个具有特殊意义的项目。
大家都能为 WordPress 添砖加瓦,因此作为其中一员我十分自豪。
开发者和贡献者为 WordPress 奉献了难以估量的时间,我们都在致力于让 WordPress 更加优秀。
现在,感谢您也参与其中。
— Matt Mullenweg 安装:著名的五分钟安装1.将 WordPress 压缩包解压至一个空文件夹。
2.在浏览器中访问wp-admin/install.php。
它将帮助您把数据库链接信息写入到wp-config.php文件中。
1.若上述方法不起作用,也没有关系,请用文本编辑器(如写字板)手动打开wp-config-sample.php文件,填入数据库信息。
2.将文件另存为wp-config.php并上传。
3.在浏览器中访问wp-admin/install.php。
3.在配置文件就绪之后,WordPress 会自动尝试建立数据库表。
若发生错误,请检查wp-config.php文件中填写的信息是否准确,然后再试。
若问题依然存在,请访问支持论坛寻求帮助。
4.若您不设置密码,请牢记生成的随机密码。
若您不输入用户名,用户名将是admin。
5.完成后,安装向导会带您到登录页面。
用刚刚设置的用户名和密码登录。
若您使用随机密码,在登录后可以按照页面提示修改密码。
升级自动升级若您正在使用 WordPress 2.7 或以上版本,您可使用内置的自动升级工具进行升级:1.在浏览器中打开wp-admin/update-core.php,按照提示操作。
2.还有别的步骤么——没了!手动升级1.在升级之前,请确保备份旧有数据以及被您修改过的文件,例如index.php。
2.删除旧版程序文件,记得备份修改过的内容。
3.上传新版程序文件。
4.在浏览器中访问/wp-admin/upgrade.php。
模板结构变化如果您曾自己制作或者修改主题,可能您需要做一些修改以使模板在跨版本更新后正常工作。
phpstrpos()函数介绍与使⽤⽅法详解本⽂主要和⼤家介绍PHP中mb_strpos的使⽤技巧,通过使⽤语法以及实例给⼤家详细分析了⽤法,需要的朋友参考学习下。
希望能帮助到⼤家。
mb_strpos(PHP 4 >= 4.0.6, PHP 5, PHP 7)mb_strpos — Find position of first occurrence of string in a stringmb_strpos — 查找字符串在另⼀个字符串中⾸次出现的位置Descriptionint mb_strpos ( string $haystack , string $needle [, int $offset = 0 [,&1.简介:本⽂主要和⼤家介绍PHP中mb_strpos的使⽤技巧,通过使⽤语法以及实例给⼤家详细分析了⽤法,需要的朋友参考学习下。
希望能帮助到⼤家。
2.简介:strpos() f函数查找字符串在另⼀字符串中第⼀次出现的位置(区分⼤⼩写)。
注释:strpos() 函数是区分⼤⼩写的。
注释:该函数是⼆进制安全的。
3.简介:strpos() 函数查找字符串在另⼀字符串中第⼀次出现的位置。
需要注意的是,此函数是区分⼤⼩写的,与php stripos()函数是相反的,stripos()函数是不区分⼤⼩写的。
本篇⽂章带领⼤家了解⼀下php strpos() 函数。
4.简介:php中strpos strrchr strpbrk字符查找函数5.简介:如果这个字符串中没有找到相应的⼦字符串就返回false 如果这个⼦字符串位于字符串的开始处就会返回0 为了区分 0 和 false 就必须使⽤等同操作符 === 或者!==6.简介:stripos,strstr:[PHP源码阅读]strpos、strstr和stripos、stristr函数:strposmixedstrpos ( string$haystack, mixed$needle [, int $offset = 0 ] )如果offset指定了,查找会从offset的位置开始。
php常用函数PHP是一种流行的服务器端脚本语言,可以用于创建动态网页和Web应用程序。
PHP具有许多内置函数,它们可以帮助开发人员轻松地完成常见任务,例如字符串操作、文件处理、日期和时间处理等。
在本文中,我们将介绍一些PHP常用函数,帮助您更好地了解这个语言。
字符串函数PHP提供了许多用于处理字符串的函数,例如:1. strlen():返回字符串的长度。
2. strpos():查找一个字符串在另一个字符串中的位置。
3. str_replace():替换字符串中的部分内容。
4. substr():从字符串中提取一部分内容。
5. strtolower():将字符串转换为小写字母。
6. strtoupper():将字符串转换为大写字母。
7. trim():去除字符串两侧的空格。
文件函数PHP也提供了许多用于处理文件的函数,例如:1. fopen():打开一个文件。
2. fclose():关闭一个文件。
3. fwrite():向文件写入内容。
4. fread():从文件中读取内容。
5. file_exists():检查文件是否存在。
6. unlink():删除文件。
日期和时间函数PHP还提供了许多用于处理日期和时间的函数,例如:1. date():获取当前日期和时间。
2. strtotime():将日期和时间字符串转换为时间戳。
3. time():获取当前时间戳。
4. mktime():根据给定的时间参数创建一个时间戳。
5. date_diff():计算两个日期之间的差异。
6. date_add():在给定的日期上添加时间间隔。
数组函数PHP也提供了许多用于处理数组的函数,例如:1. count():返回数组的元素数量。
2. array_push():向数组末尾添加一个或多个元素。
3. array_pop():从数组末尾删除一个元素。
4. array_shift():从数组开头删除一个元素。
5. array_unshift():向数组开头添加一个或多个元素。
关于Firefox的技巧的文档:侧边栏视图、缩略图视图、简介:特点:SettingInject-替代脚本Operator-操作符Fields-匹配字段默认设置:简介:Karma Blocker,简称KB,中文我觉得应该叫”基分拦截器”,作者也是Greasemonkey的作者下载:https:///en-us/firefox/addon/karma-blocker/简介:https:///arantius/karma-blocker语法:https:///arantius/karma-blocker/wiki/Configuration国内对这个扩展的使用经验,最好先了解一下如果你想迅速看到效果,试一下网上给的一个小规则,你很快就会看到大量脚本被拦截:# 这个是某人仿效ADP的规则,杀掉不少,记得配白名单#拦截第三方脚本[Group]name="ADP $scipt,third-party"match=allscore=12rule=$thirdParty==truerule=$type==script#干掉所有第三方链接的框架[Group]match=allscore=100rule=$thirdParty==truerule=$origin.tag=='iframe'#即ADP的$image,third-party[Group]match=allscore=100rule=$thirdParty==truerule=$type==image#ADP的:$object,third-party[Group]match=allscore=100rule=$thirdParty==truerule=$type==object特点:●45K,超级精简,完全不会拖慢(可以查看一下评论)●请求之前拦截,提前拦截对象,节省流量,无cookie●评分基于对象的权值/评级/给分,类似于流行的垃圾邮件过滤机制,比如SpamAssasin,●灵活强大的语法,不是仅仅局限于拦截URL●全局函数注入:如果拦截了脚本,仍然能够调用它的函数,避免一切错误。
php在线函数参考表该表总结了各种常用的php函数,包括php字符串函数,php数组函数,php数学函数,mysql函数,文件目录函数,GD库函数,SESSION函数,Date/Time 函数等,涵盖了php基本操作所涉及的各类常用函数,并针对各个函数提供了简单的解释说明,方便查阅。
提供给需要的朋友查询使用。
字符串相关操作函数去除空格或其他字符trim删除字符串两端空格或其他预定义字符rtrim删除字符串右边空格或其他预定义字符chop rtrim() 的别名chop() 与 Perl 的 chop() 函数有所不同,它会删除字符串的最后一个字符。
ltrim删除字符串左边空格或其他预定义字符字符串生成与转换str_pad使用另一个字符串填充字符串为指定长度str_split将字符串转换为数组strrev反转字符串wordwrap打断字符串为指定数量的字串str_shuffle 随机打乱一个字符串parse_str将字符串解析成变量number_format通过千位分组来格式化字符串字符串大小写转换strtolower将字符串转化为小写strtoupper将字符串转化为大写ucfirst将字符串的首字母转换为大写lcfirst将字符串的首字母转换为小写ucwords将字符串中每个单词的首字母转换为大写html标签关联htmlentities将字符转换为HTML实体htmlspecialchars预定义字符串转HTML编码nl2br 在字符串所有新行之前插入 HTML 换行标记 \n转换为<br>标签strip_tags从字符串中去除 HTML 和 PHP 标记addcslashes以 C 语言风格使用反斜线转义字符串中的字符stripcslashes反引用一个使用addcslashes() 转义的字符串addslashes使用反斜线引用字符串stripslashes删除由addslashes添加的转义字符字符串相关操作函数去除空格或其他字符quotemeta字符串中某些预定义字符串前加反斜杠chr从指定的ASCII值返回字符ord返回字符串第一个字符的 ASCII值字符串比较strcasecmp不区分大小写比较两个字符串strcmp区分大小写比较两个字符串strncmp比较字符串前N个字符,区分大小写strncasecmp比较字符串前N个字符,不区分大小写strnatcmp自然顺序法比较字符串长度,区分大小写strnatcasecmp自然顺序法比较字符串长度,不区分大小写字符串查找替换str_replace字符串替换操作,区分大小写str_ireplace字符串替换操作,不区分大小写substr_count统计一个字符串,在另一个字符串中出现的次数substr_replace替换字符串中某串为另一个字符串similar_text返回两字符串相同字符的数量strrchr 返回一个字符串在另一个字符串中最后一次出现位置开始到末尾的字符串strstr 返回一个字符串在另一个字符串中开始位置到结束位置的字符串strchr strstr的别名,返回一个字符串在另一个中首次出现位置开始到末尾的字符串stristr 返回一个字符串在另一个字符串中开始位置到结束位置的字符串,不区分大小写strtr转换字符串中某些字符strpos寻找字符中某些字符最先出现的位置stripos寻找字符中某些字符最先出现的位置,不区分大小写strrpos寻找字符中某些字符最后出现的位置strripos寻找字符中某些字符最后出现的位置,不区分大小写strspn返回字符串中首次符合mask的字符串长度strcspn返回字符串中不符合mask的字符串的长度字符串统计str_word_count统计字符串含有的单词数strlen统计字符串长度count_chars统计字符串中所有字母出现的次数(0..255)字符串编码md5计算字符串的 MD5 散列值hash生成一个哈希码数组相关函数创建数组array生成一个数组array_combine 生成一个数组,用一个数组的值作为键名,另一个数组的值作为值range创建并返回一个包含指定范围的元素的数组compact创建一个由参数所带变量组成的数组array_fill用给定的值填充生成数组数组合并和拆分array_chunk把一个数组分割为新的数组块array_merge把两个或多个数组合并成一个数组array_slice在数组中根据条件取出一段值,并返回。
Robot使用技巧和实用函数集合第一个:(转自网上)*******************************************************************功能说明:出现一个提示对话框,N秒后消失,比如说:提示等待一个窗口阿,有时候这个窗口没了,我也不知道脚本运行到什么地方了,提示一下挺好,也方便其他的测试员修改,而且,也不影响无人值守的操作例子:SQAMsgbox "test","title",5Global iTime as IntegerDeclare Function TimedDlgFunc(id As String, Action As Integer, SuppValue As Long) As IntegerDeclare Function SQAMsgBox(sMsgText as String, Optional vMsgCaption as Variant, Optional vTimeOut as Variant) as IntegerFunction TimedDlgFunc(id As String, Action As Integer, SuppValue As Long) As IntegerStatic StartTimeDim EndTimeDim vTimeoutValue as VariantSelect Case ActionCase 1 'Dialog box InitializationStartTime = TimerIf StartTime + iTime >= 86400 ThenStartTime = 86400 - StartTime - iTimeEnd IfTimedDlgFunc = 1Case 2 'Button pushed or any control changed (except typing in text or combo box)Select Case SuppValueCase 1DlgEnd -1Case 2DlgEnd 0Case ElseTimedDlgFunc = 0End SelectCase 3 'Change in text or combo box contentsTimedDlgFunc = 1Case 4 'Change of control focusTimedDlgFunc = 1Case 5 'Idle state (return 0 to prevent this being continually called)EndTime = TimerIf (EndTime - StartTime) >= iTime ThenDlgEnd -1End IfvTimeoutValue = Format(iTime - (EndTime - StartTime), "#.#")DlgText DlgControlID("txtTimeValue"), CStr(vTimeoutValue)TimedDlgFunc = 1End SelectEnd FunctionFunction SQAMsgBox(sMsgText as String, Optional vMsgCaption as Variant, Optional vTimeOut as Variant) as Integer Dim Result as IntegerDim TotalTime As IntegerDim sCmdText as StringDim sTimeoutText as StringDim vValue as VariantIf IsMissing(vMsgCaption) ThenvMsgCaption = "SQAMsgBox"End IfIf IsMissing(vTimeOut) ThenvTimeOut = 20 'secondsEnd IfsTimeoutText = "Timeout: "'-----Begin Dialog dlgMsgBox 200, 80, vMsgCaption, .TimedDlgFuncGroupBox 5, 2, 190, 40, "", .grpMsgTxtText 15, 11, 175, 25, sMsgText, .txtMsgTextText 15, 47, 180, 20, sCmdText, .txtCmdText'--------------Button 20, 60, 40, 14, "&OK", .btnOKButton 140, 60, 40, 14, "&Cancel", .btnCancelText 78, 63, 30, 10, sTimeoutText, .txtTimeTextText 108, 63, 20, 10, vTimeout, .txtTimeValueEnd Dialog'-----Dim TimedDlg As dlgMsgBoxiTime = CInt(vTimeOut)Result = Dialog(TimedDlg)If Result = 2 ThenSQAMsgBox = sqaFailElseSQAMsgBox = sqaPassEnd IfEnd Function*******************************************************************第二个:(来自于网上)******************************************************************关于Recognition一共分为Recognition, ParentRecognition, FullRecognition1. To find the recognition method of the currently active window:Result=SQAGetProperty(".\","Recognition",value)Returned value:Type=Window;Name=frmMain抓出来的是当前窗口的一些信息2. To find the immediate parent of the tree view item Bach:Result=SQAGetProperty("Name=treMain;\;ItemText=Bach","arentRecognition",value)Returned value:Type=TreeView;Name=treMain抓出来的是树型结构的父结点的信息3. To find the complete object path of the tree view item Bach, beginning with the desktop and ending with the target object itself:Result=SQAGetProperty("Name=treMain;\;ItemText=Bach","FullRecognition",value)Returned value:Type=Window;Name=frmMain;\;Type=TreeView;Name=treMain;\;Type=TVItem;ItemText=Bach抓出来的是树型结构中指向该控件的全部路径第三个:(来自于网上)****************************************Rational Robot中自动进行100次操作Rational Robot中的SQA Basic与Basic语言极为类似,下面是一个for循环的例子,其中cstri()函数把整数转换成字符串。
俗易懂的Wordpress函数详解 2011-01-04 20:54 在讲述下面的WordPress函数之前,我们需要明确这样一点,所有的WordPress函数都是已经定义好的PHP函数,它们都需要写在PHP 语句中()才能执行;而且,所有这些函数在PHP语句中都应以分号”;”结尾。其实,为了用好这些函数,为你的WordPress服务,你最好具有 PHP语言的基础。
1.bloginfo() 顾名思义,该函数主要用来显示博客信息;而且根据参数的不同,可以用来显示博客信息中的不同部分。常用的有以下几种:
bloginfo(’name’) 显示博客题名,如“月夜”;默认(不写参数)输出该项; bloginfo(’description’) 显示博客描述部分,如“分享网络知识·享受快乐生活”; bloginfo(’url’) 输出博客URL地址,如http://www.yueye.org; bloginfo(’rss2_url’) 显示博客的RSS2.0 feed地址,如http://www.yueye.org/feed; bloginfo(’template_url’) 用来获取WordPress博客的模板地址; bloginfo(’charset’) 显示博客的编码方式,如“UTF-8”; 一种常见的使用bloginfo()函数的组合如下: ” title=”” >bloginfo(’name’); ?>
在月夜博客中,如上信息输出形如月夜的样式。这种形式通常会用来添加博客的底部信息,如Copyright @ 月夜,经常在主题模板中使用。
需要注意的是bloginfo()函数只能输出显示这些参量,如果你想在PHP语句中使用得到的这些值,则需使用get_bloginfo()函数,该函数和bloginfo()使用相同的参数,获得相同的结果。
2.wp_title() 该函数用来显示页面的标题,如在文章页面,则显示文章标题;在分类页面,则显示分类名称;等等。 wp_title()函数可以跟三个参数,即wp_title(’separator’,echo,seplocation),其中 separator是title和其余部分之间的分割符号,默认是>>;echo是个bool变量,取true显示标题,取false则将标 题作为一个PHP参量返回;seplocation定义分隔符的位置,取right定义分隔符在标题后面,取其他任何值,都表示将分隔符放在标题前面。
比如形如主题文件夹下header.php中的一段代码:
–
在博客首页可以显示这样的效果“月夜 – 分享网络知识·享受快乐生活”;在文章页,可以显示这样的效果“用好WordPress不可不知的50个函数 | 月夜 – 分享网络知识·享受快乐生活”;而在分类页面,则可以显示这样的效果“网站相关 | 月夜 – 分享网络知识·享受快乐生活”;等等。
3.wp_get_archives() 该函数用来获取博客的文章存档,通过设置函数的参数,可以按各种方式获取,如按月,按年等等。 wp_get_archives()函数后面同样可以跟多种参数,只不过所有参数都需要使用&连接,并放在单引号(’)中以字符串方式传递 给函数,形如wp_get_archives(’type=monthly&format=html& show_post_count=1&limit=10′)。
如上的参数意义描述如下: type=monthly表示按月显示文章存档,可以使用yearly、daily、weekly等代替monthly表示按年、日、以及周显示文章存档;
format=html表示使用通常的HTML中
如上示例中,函数各参数的意义如下: orderby=name表示按照分类名称的字母先后顺序显示分类信息,可以将name换为ID等; order=ASC表示按照分类名称的字母的升序显示分类信息,将ASC改为DESC表示按降序; show_count=1在每个分类名称后面显示属于该分类的文章数; use_desc_for_title=1使用该分类的描述信息为每个分类名称超链接添加一个title属性; feed=订阅:在每个分类信息旁边添加一个名为“订阅”的超链接,提供该分类的RSS订阅; exlude=2,5:在显示的分类中去除ID为2和5的分类;也可以用include=2,5表示只显示ID为2和5的分类;
number=10:表示只显示最先的10个分类。 5.get_the_category() get_the_category()函数用来返回当前文章所属的类别的若干属性所组成的一个数组,该数组包括以下内容:
cat_ID:当前类别的ID(也可以写作’term_id’); cat_name:当前类别的名称(也被写作’name’); category_description:当前分类的描述(也可以写作’description’); category_count:属于当前分类的文章数量(也被写作’count’)。 具体的使用方法,我们通过下面的几个句子来说明: 形如get_the_category()->cat_ID的语句,返回当前文章所属分类的ID号; 形如get_the_category()->description的语句,返回当前文章所属分类的描述;等等。 6.the_category() 该函数返回当前文章所属的类别名称,而且是文章类别的超链接形式。 默认的无参数形式the_category()直接以超链接形式显示类别名称,显示为:精品推介; 可以在函数中跟上分隔符等参数来格式化输出,如the_category(’-’),若当前文章属于两个以上分类,可以显示这样的形式:精品推介-经验知识;如只属于一个分类,则显示为这样的形式:精品推介。
7.category_description() 该函数以分类的ID为输入,得到该分类的描述。常和echo、get_the_category()配合使用,将当前分类描述输出:
echo category_description(get_the_category()->cat_ID); 如上语句,get_the_category()得到保存有当前分类信息的一个数组;cat_ID为该数组中该分类的ID;将该ID输入给category_description()函数,即可得到该分类的描述;然后使用echo将其输出。 但经月夜试验,使用如下的语句可以实现和上面语句相同的功能: echo category_description(); 这可能是因为该函数在默认无参数输入的情况下会输出当前分类描述的结果吧。 8.is_home() is_home()用以判断当前显示的博客页面是否是博客首页,返回的是一个Bool值。如果是在首页,则返回TRUE;否则返回FALSE。
该函数常用来控制博客侧边栏的显示方式,经常使用如下代码段: if ( is_home() ) { //此为在博客首页应该显示的内容 } else { //此为非博客首页应该显示的内容 } ?>
9.is_archive() is_archive()用以判断当前显示的内容是否是博客存档页面,比如按日期的存档,或者按分类的存档,等等;其和is_home()函数一样,返回一个Bool值。
10.is_page() is_page()函数判断当前显示的内容是否是博客的独立页面(page),如“月夜私语”、“关于月夜”等页面;它也返回一个Bool值。
我们可以在模板中通过该函数判断当前是否是一个独立页面,从而决定是否为当前显示的文章显示发布时间等等。
11.is_paged() 该函数用以判断当前文章是否因为内容过多而分页显示;需要注意的是,如果你在写文章时手动添加了标签,来强制分页的话,该函数并不会因此而返回TRUE。
12.is_page_template() is_page_template()函数需要跟一个参数,通常以如下方式使用: is_page_template(’guestbook.php’); 藉此判断当前显示的独立页面(page)是否使用了参数所示的模板guestbook.php;如果不跟参数,函