preg_match函数和preg_match_all函数

<?php
//@Author sgsheg
//@Time 9/28
/*
preg_match_all 执行一个全局正则表达式匹配
int preg_match_all(string $pattern,string $subject[,array &$matches[,int $flags=PREG_PATTERN_ORDER[,int $offset=0]]]);
搜索subject中所有匹配pattern给定的正则表达式的匹配结果并将他们以flag指定顺序输出到matches中.
在第一匹配找到以后,子序列继续从最后一次匹配位置搜索.


+--------------------------------------------------------------------------------------+
ini_get
Gets the value of a configuration option
获取配置文件的选项值,true返回1,false返回0,字符串就返回字符串
information:
string ini_get(string $varname);

用法:
echo 'display_errors'.ini_get('display_errors')."\n";//显示错误是否打开
echo 'register_globals='.ini_get('register_globals')."\n";//全局变量是否打开
echo 'post_max_size='.ini_get('post_max_size')."\n";//最多能提交的文件的大小

在实际的工作中,我们可以来判断magic_quotes_gpc是否没有打开,我们可以这样写一个函数:
比如:

/*字符串过滤函数
function stringFilter($str){
if(ini_get('magic_quotes_gpc')){
return $str;
}else{
return addslashes($str);
}
}
当然你如果无法知道你的全局变量是否已经打开,也可以定制这样的函数.

//变量检测函数
function getGetVar($var){
if(ini_set('register_globals')){
return $var;
}else{
return $_GET['var'];
}
}

 

+----------------------------------------------------------------------------------------+
用javascrip得到字符串中出现次数最多的字母网页

一个字符串string=[adadfdfseffserfefsefseetsdg],找出里面出现次数最多的字母和出现的次数.


解题的思路是:
取出字符串的第一个字符(首字母),利用的字符串的replace方法将复合正则表达式(第一个字符)替换为空,此字母出现的次数为原始的字符串减去替换的字符串长度,循环迭代找出长度最长的字母.
循环迭代找出长度最常的字母.

<script type="text/javascript">
//<![cdata[
var str="adadfdseffserfefsefseeffffftsdg";//命名一个变量放置给出的字符串
var maxlength=0;//命名一个变量放置字母出现的最高次数并初始化为0
var result=""; //命名一个变量发放置结果输入

while(str!=''){
//循环迭代开始,并判断自负是否为空
bdstr=str;//将原始的字符串变量赋值给新的变量
getstr=str.substr(0,1);//用字符串的substr的方法得到第一字符(首字母)
eval("str=str.replace(/"+getstr+"/g,")");//详细如补充


if(bdstr.length-str.length > maxlength){
//判断原始的字符串的长度减去替代字符串长度是否大于之前开始的最大的字符串长度
maxlength=bdstr.length-str.length;//两字符串相减得到醉倒的字符串长度
result=getstr+"="+maxlength//返回最大的字符串结果(字母,出现次数)
}
}
alert(result);//弹出结果
//]>
</script>
+------------------------------------------------------------------------------------+
set_time_limit
设置脚本最大执行时间

void set_time_limit(int $seconds);
设置运行脚本运行的时间,单位为秒.如果超过了此设置,脚本返回一个致命的错误,默认值为30s.或者在php.ini中max_execution被定义的值.如果此值存在.
+------------------------------------------------------------------------------------+
php的替换语法:

<?php if(empty($_GET['a'])):?>
<font color="red">空的</font>
<?php endif;?>
这就是php的替换语法

php里面有什么替换语法>>>
替换语法的基本形式:
左边花括号:({)替换成(:),
把右边花括号(})替换为endif;,endwhile,endfor,endforeach;以及endswitch

比如:
<?php if($a<0):?>
<?php endif;?>

上面的等同于
<?php if($a<)){?>

<?php }?>

因为这不复合C家族的传统有点另类,所以在很多php里面木有.


另类存在的作用:
1.使HTML和PHP的混合的页面代码更加干净整齐
2.流程控制逻辑更加清晰,代码容易阅读
3.一些从ASP或者其他语言转过来的,会更容易使用PHP

 


posted @ 2012-10-08 17:04  sgsheg  阅读(413)  评论(0编辑  收藏  举报