//php代码
$mobilephone=trim($_post["smmobilephone"]);
//手机号码的正则验证
if(preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/",$mobilephone)){
//验证通过
}else{
//手机号码格式不对
}
//这只是一个不精确的验证,只能大概验证到一个范围而已,所以重点还在后面。
//手机号码验证二
$tel = "15905789568";
$ab = preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/",$tel);
/*
说明:
^表示这符开始(元字符)
$表示字符结尾(元字符)
13为普通字符
[0-9]表示一个0-9的数字
{9} 表示匹配9次
后面的号码,如果是13开头的,中间有9个数字,并结尾,则符合条件
*/
if($ab)
{
echo "手机号对了";
}
else
echo "不是手机号,乱填!!!!";
//再来一款手机号验证程序
function checkmobile($str)
{
$pattern = "/^(13|15)d{9}$/";
if (preg_match($pattern,$str))
{
return true;
}
else
{
return false;
}
}
//调用函数
$str = checkmobile("15800000001");
if($str)
{
echo("符合手机号码标准");
}
else
{
echo("不符合手机号码标准");
}
?>
strtr函数的另一种情况
< ?php教程 echo strtr("i loves you","love","lovea"); ?>
结果是
i loves you
注意看第三个参数的a,在结果中并没有出现
4.我不建议用strtr以少换多
ok,既然这个strtr函数挺麻烦为什么还要用呢?
原因是,它的速度很快
据说,strtr 比 str_replace 快四倍
5.php字符串替换能用strtr函数的时候一定要用
那怎么用才舒服?
这就是它的第二种情况
strtr(string,array)
6.strtr符合意愿的使用方法
< ?php $table_change = array('you'=>'her sister'); echo strtr("i love you",$table_change); ?>
结果为
i love her sister
7.小技巧:你想到php字符串替换该替换什么你就往数组加什么
比如
< ?php $table_change = array('you'=>'her sister'); $table_change += array('love' => 'hate'); echo strtr("i love you",$table_change); ?>
结果是
i hate her sister
str_replace
替换
替换的意义在于将一个字符串的一部分进行改动,使之成为别外一个新的字符串,以满足新的需求。php里通常用str_replace("要替换的内容", "要取代原内容的字符串", "原字符串")进行替换。
echo str_replace("iwind", "kiki", "i love iwind, iwind said"); // 将输出 "i love kiki, kiki said"
即将 原字符串中的所有"iwind"都替换成了"kiki".
str_replace是大小写敏感的,所以对你不能设想用 str_replace("iwind", "kiki",...)替换原字符串中的"iwind".
str_replace还能实现多对一,多对多的替换,但无法实现一对多的替换:
echo str_replace(array("iwind", "kiki"), "people", "i love kiki, iwind said");
将会输出
i love people, people said
第一个参数中的array("iwind", "kiki")都被替换成了"people"
echo str_replace(array("iwind", "kiki"), array("gentle man", "ladies"), "i love kiki, iwind said");
输出 i love ladies, gentle man said 。也就是说第一个数组中的元素被第二个数组中的相对应的元素替换掉了,如果有一个数组比另一个数组元素数要少,那么不足的都会当作空来处理。
和此有些类似的是strtr,
此外,php还提供了substr_replace,实现替换一部分的字符串。语法如下:
substr_replace (原字符串, 要替代的字符串, 开始替换的位置 [, 替换的长度])
其中,开始替换的位置从0开始计算,应该小于原字符串的长度。要替换的长度是可选的。
echo substr_replace("abcdefgh", "def", 3); // 将输出 "abcdef"
echo substr_replace("abcdefgh", "def", 3, 2); // 将输出 "abcdeffgh"
第一个例子中,从第三个位置(即"d")开始替换,从而把 "defgh"都替换成了“def”
第二个例子中,也是从第三个位置(即"d")开始替换,但只能替换2个长度,即到e,所以就把"de"替换成了"def".
php还提供了preg_replace,preg_replace_callback,ereg_replace,eregi_replace等函数应用正则表达式来完成字符串替换,用法请参考手册。
定义和用法
str_replace() 函数使用一个字符串替换字符串中的另一些字符。
语法
str_replace(find,replace,string,count)参数 描述
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。一个变量,对替换数进行计数。
提示和注释
注释:该函数对大小写敏感。请使用 str_ireplace() 执行对大小写不敏感的搜索。
注释:该函数是二进制安全的。
例子
例子 1
<?php
echo str_replace("world","john","hello world!");
?>
代码如下 | 复制代码 |
//对多个数组排序 $ar1 = array("10", 100, 100, "a"); var_dump($ar1); //本例中经过排序后,第一个数组将包含 "10","a",100,100。第二个数组将包含 1,1,"2",3。第二个数组中的项目顺序完全和第一个数组中相应的项目(100 和 100)顺序一致。 $ar = array(array("10", 11, 100, 100, "a"), array( 1, 2, "2", 3, 1) ); array_multisort($ar[0], sort_asc, sort_string, $ar[1], sort_numeric, sort_desc); var_dump($ar); /* 排序类型标志: 每个数组之后不能指定两个同类的排序标志。每个数组后指定的排序标志仅对该数组有效 - 在此之前为默认值 sort_asc 和 sort_regular */ function cmp($a, $b) $fruits[0]["fruit"] = "lemons"; usort($fruits, "cmp"); while (list($key, $value) = each($fruits)) { //看一个完善的 $data=array( $arr1 = sortdata($data, "name","asc"); $arr2 = sortdata($data, "age","desc");
foreach($data as $key => $val){ |
?>
*/
代码如下 | 复制代码 |
$ref = isset($_server['http_referer'])?$_server['http_referer']:''; echo $ref; if(strpos($ref,'192.168.0.119')!==false) { echo '来路正确!'; } else { echo '错误来路'; } ?> |
<a href="http://down.111cn.net/plus/download.php?open=0&aid=20861&cid=3">判断来路</a>
代码如下 | 复制代码 |
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <body> |
<?
//文件上传
代码如下 | 复制代码 |
if($_files ) { upfiles($_files,'./'); } function upfiles($files,$path){ global $nowtimestamp; $exname=strtolower(substr($files['name'],(strrpos($files['name'],'.')+1))); $i=1; if (!move_uploaded_file($files['tmp_name'], $path.$nowtimestamp.".".$exname)) { showmessage("上传文件失败,请稍后重试!","?job=add",true); } return $path.$nowtimestamp.".".$exname; } |
?>