随机一个字符串 求其中每个字符的个数
Category Archives: php
php 取得当前网页地址信息
1,parse_url 函数 $ua=parse_url(“http://www.huaidong.net/?p=298″); print_r($ua); 显示:Array ( [scheme] => http [host] => www.huaidong.net [path] => / [query] => p=298 ) 2,取得当前网页地址 $_SERVER['REQUEST_URI'];
PHP中正则表达式详解
PHP继承*NIX的一贯传统,完全支持正规表达式的处理。正规表达式提供了一种高级的,但不直观的字符串匹配和处理的方法。用过PERL的正规表达式的朋友都知道,正规表达式的功能非常强大,但学起来不是那么容易。 比如: ^.+@.+\..+$ 这段有效却难以理解的代码足够使一些程序员头痛(我就是)或者让他们放弃使用正规表达式。相信当你读完这个教程后,就可以理解这段代码的含义了。 基本模式匹配 一切从最基本的开始。模式,是正规表达式最基本的元素,它们是一组描述字符串特征的字符。模式可以很简单,由普通的字符串组成,也可以非常复杂,往往用特殊的字符表示一个范围内的字符、重复出现,或表示上下文。例如: ^once 这个模式包含一个特殊的字符^,表示该模式只匹配那些以once开头的字符串。例如该模式与字符串”once upon a time”匹配,与”There once was a man from NewYork”不匹配。正如如^符号表示开头一样,$符号用来匹配那些以给定模式结尾的字符串。 bucket$ 这个模式与”Who kept all of this cash in a bucket”匹配,与”buckets”不匹配。字符^和$同时使用时,表示精确匹配(字符串与模式一样)。例如: ^bucket$ 只匹配字符串”bucket”。如果一个模式不包括^和$,那么它与任何包含该模式的字符串匹配。例如:模式 once 与字符串 There once was a man from NewYork Who kept all of [...]
php 生成指定范围长度的随机字符串
function random( $min, $max = NULL ) { $len = isset($max) ? mt_rand($min, $max) : $min; $str = ”; for($i = 0; $i < $len; ++$i) $str .= chr(mt_rand(32, 128));//表示十进制的 return $str; } 说明:chr() 函数从指定的 ASCII 值返回字符。 ascii 参数可以是十进制、八进制或十六进制。通过前置 0 来规定八进制,通过前置 0x 来规定十六进制。 注:如果想更多的ASCII码可以查找ASCII码表
php中require()和include()的相同与区别
require()和include()的相同 都是将一个模板文件包含到它们调用所在的位置 require()和include()的区别 1.include()是有条件包含函数,而require()则是无条件包含函数。 2.include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码,require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。
php 获取客户端IP
$ip = ""; if (isset($_SERVER)){ if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){ $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } else if (isset($_SERVER["HTTP_CLIENT_IP"])) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } else { $ip = $_SERVER["REMOTE_ADDR"]; } } if ($ip == "") $ip = ‘unknow’; echo $ip;echo "<br>"; 客户端IP相关的变量 1. $_SERVER[’REMOTE_ADDR’]; 客户端IP,有可能是用户的IP,也有可能是代理的IP。 2. $_SERVER[’HTTP_CLIENT_IP’]; 代理端的IP,可能存在,可伪造。 3. $_SERVER[’HTTP_X_FORWARDED_FOR’]; 用户是在哪个IP使用的代理,可能存在,可以伪造。
php 常用数组函数
1,array_merge()合并数组函数 $result = array_merge($name, $email);//合并两数组 2,array_push() 将一个或多个单元压入数组的末尾(入栈) $stack = array(“orange”, “banana”); array_push($stack, “apple”, “raspberry”); print_r($stack); Array([0] => orange [1] => banana [2] => apple [3] => raspberry) 3,array_unshift — 在数组开头插入一个或多个单元 4,explode() 函数把字符串分割为数组。 5,split将字符串分割到数组中(它是用正则表达式分割,一般是不用这个的,因为速度慢。他一般用在时间和日期里) $date = “04/30/1973″; list($month, $day, $year) = split (‘[/.-]‘, $date); echo “Month: $month; Day: $day; Year: $year\n”; 6,array_chunk — 将一个数组分割成多个 7,array_unique — [...]
php 正则表达式
电子邮件的正则表达式判断 if(eregi(“^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$”,$email)){ echo “ok”; }else{ echo “no”; } 手机号的正则表达式判断 if(eregi(“^[0-9]{11}$”,$phone)){} 说明1: 1,^[_\.0-9a-z-]+ 是以_,.,数字,小写字母,-之中的任意开头的1到n个字符 2,@就是@ 3,([0-9a-z][0-9a-z-]+\.)+ 是1至n个 首字符为数字或字母,后面接1至n个数字/字母/-,最后是. 的字符串 4,[a-z]{2,4}$ 是以小写字母结尾的2-4个字符 说明2: ^[a-z] ^表示字符串的起始 $表示字符串的结束 [^a-z] ^表示“非”后面这些字符 说明3:PHP正则表达式的基本语法 PHP被大量的应用于Web的后台CGI开发,通常是在用户数据数据之后得出某种结果,但是如果用户输入的数据不正确,就会出现问题,比如说某人的生日是”2月30日”!那应该怎么样来检验暑假是否正确呢? 在PHP中加入了正则表达式的支持,让我们可以十分方便的进行数据匹配。 什么是正则表达式: 简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言。此外,JavaScript这种客户端的脚本语言也提供了对正则表达式的支持,现在正则表达式已经成为了一个通用的概念和工具,被各类技术人员所广泛使用。 正则表达式的基本语法 首先让我们看两个特殊的符号\’^\’和\’$\’。他们的作用是分别指出一个字符串的开始和结束。例子如下: \”^The\”:表示所有以\”The\”开始的字符串(\”There\”,\”The cat\”等); \”of despair$\”:表示所以以\”of despair\”结尾的字符串; \”^abc$\”:表示开始和结尾都是\”abc\”的字符串——呵呵,只有\”abc\”自己了; \”notice\”:表示任何包含\”notice\”的字符串。 象最后那个例子,如果你不使用两个特殊字符,你就在表示要查找的串在被查找串的任意部分——你并不把它定位在某一个顶端。 其它还有\’*\’,\’+\’和\’?\’这三个符号,表示一个或一序列字符重复出现的次数。它们分别表示“没有或 更多”,“一次或更多”还有“没有或一次”。下面是几个例子: \”ab*\”:表示一个字符串有一个a后面跟着零个或若干个b。(\”a\”, \”ab\”, \”abbb\”,……); \”ab+\”:表示一个字符串有一个a后面跟着至少一个b或者更多; \”ab?\”:表示一个字符串有一个a后面跟着零个或者一个b; \”a?b+$\”:表示在字符串的末尾有零个或一个a跟着一个或几个b。 你也可以使用范围,用大括号括起,用以表示重复次数的范围。 \”ab{2}\”:表示一个字符串有一个a跟着2个b(\”abb\”); \”ab{2,}\”:表示一个字符串有一个a跟着至少2个b; \”ab{3,5}\”:表示一个字符串有一个a跟着3到5个b。 请注意,你必须指定范围的下限(如:\”{0,2}\”而不是\”{,2}\”)。还有,你可能注意到了,\’*\’,\’+\’和 \’?\’相当于\”{0,}\”,\”{1,}\”和\”{0,1}\”。 [...]
php 常用字符串截取函数
1,substr echo substr(‘abcdef’, 1); // bcdef echo substr(‘abcdef’, 1, 3); // bcd echo substr(‘abcdef’, 0, 4); // abcd 2,mb_substr mb_substr比substr要加入多一个参数 3,strlen 字符串的长度 4,implode 函数把数组元素组合为一个字符串。 $arr = array(‘Hello’,’World!’,’Beautiful’,’Day!’); echo implode(” “,$arr); //Hello World! Beautiful Day! 5,explode 函数把字符串分割为数组。 $str = “Hello world. beautiful day!”; print_r (explode(” “,$str)); //Array([0] => Hello [1] => world. [2] => beautiful [3] [...]