preg_match("/[a-z]{3,14}/",$content,[可选]$a);这个返回布尔值,$a得到的是数组,把匹配到的字符防在$a;
正则汉字
echo (mb_eregi("[x80-xff].","中d文") ? "有" : "无") ."汉字";
echo (mb_eregi("^([x80-xff].)+$","中文") ? "全是汉字" : "");
看一判断全中文字符串函数
$str = "请问php中的eregi如何匹配汉字";
if (preg_match("/^[".chr(0x80)."-".chr(0xff)."]+$/",$str)) {
echo "这是一个纯中文字符串";
} else{
echo "这不是一个纯中文字串";
}
preg_match_all($pat,……)与preg_replace($pat,……)……
preg_match_all("/(汉字)+/ism","我是汉字,看你把我怎么着!",$m_a);
了各个编码的高位与低位的开始与结束,那么自然就可以写出正则,而且直接是十六位的,有啥困难?呵呵。不过要注意,在php里面,表示十六位是用的x。
所以如上,我们还可以用该正则表达式来判断是否是gb2312的汉字
<?php
$str = "小小子";
if(preg_match("/^[xb0-xf7][xa0-xfe]+$/",$str)){
print($str."确实全是汉字");
} else {
print($str."这个真tc不全是汉字");
}
?>
利用fopen fread fwrite fcolse打开文件形式
<?php
$fp = fopen ("templets.html","a");
if ($fp){
$fup = fread ($fp,filesize("templets.html"));
$fp2 = fopen ("html.shtml","w");
if ($fwrite ($fp2,$fup)){
$fclose ($fp);
$fcolse ($fp2);
die ("写入模板成功");
} else {
fclose ($fp);
die ("写入模板失败!");
}
}
?>
php读取文件,fread是用来读取用fopen打开的文件内容的,下面我们就来看看fread与gets 实例教程吧.
定义和用法
fread() 函数读取文件(可安全用于二进制文件)。
语法
fread(file,length)参数 描述
file 必需。规定要读取打开文件。
length 必需。规定要读取的最大字节数。
说明
fread() 从文件指针 file 读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 eof 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。
<?php
$file = fopen("test.txt","r");
fread($file,filesize("test.txt"));
fclose($file);
?>
更多详细内容请查看:http://www.111cn.net/phper/18/753bc9c01fa5a721a81c63887ddccb47.htm
缓存输出 ob_end_clean ob_start ob_get_length ob_get_contents函数
<?php
$s_fname = "93e.php";
$o_fname = "93e.htm";
ob_end_clean();
ob_start();
include($s_fname);
$length = ob_get_length();
$buffer = ob_get_contents();
$buffer = eregi_replace("r","",$buffer);
ob_end_clean();$fp = fopen($o_fname,"w+");
fwrite($fp,$buffer);
fclose($fp);
?>
三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()"
ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里;
ob_get_contents():是读出缓冲区里的内容,下面有代码为例;
ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来
更多详细内容请查看:http://www.111cn.net/phper/php-cy/35433.htm
在很我的时候我们需要得到用户的真实IP地址,例如,日志记录,地理定位,将用户信息,网站数据分析等,其实获取IP地址很简单$_SERVER[\'REMOTE_ADDR\']就可以了。//最简单的方法
$ip = $_server['remote_addr'];
//上面的方法只要使用了代理你就无法得到真实ip地址,下面有更详细的方法
echo "remote addr: " . $_server['remote_addr']."<br/>";
echo "x forward: " . $_server['http_x_forwarded_for']."<br/>";
echo "clien ip: " . $_server['http_client_ip']."<br/>";
//好了来看一个实例。
function getip() {
$ip = $_server['remote_addr'];
if (!empty($_server['http_client_ip'])) {
$ip = $_server['http_client_ip'];
} elseif (!empty($_server['http_x_forwarded_for'])) {
$ip = $_server['http_x_forwarded_for'];
}
return $ip;
}
/*
如果是是加密的代理是无法获取真实ip地址的。
$validcharacters = "abcdefghijklmnopqrstuxyvwzabcdefghijklmnopqrstuxyvwz+-*#&@!?";
$index = mt_rand(0, 10);
echo $index;
//看一款复杂一点的
$validcharacters = "abcdefghijklmnopqrstuxyvwzabcdefghijklmnopqrstuxyvwz+-*#&@!?";
$validcharnumber = strlen($validcharacters);
$index = mt_rand(0, $validcharnumber-1);
$randomcharacter = $validcharacters[$index];
echo $randomcharacter;
//实例二
$length = 5;
$result = "";
for ($i = 0; $i < $length; $i++) {
$index = mt_rand(0, $validcharnumber-1);
$result .= $validcharacters[$index];
}
//
function getrandomstring($length = 6) {
$validcharacters = "abcdefghijklmnopqrstuxyvwzabcdefghijklmnopqrstuxyvwz+-*#&@!?";
$validcharnumber = strlen($validcharacters);
$result = "";
for ($i = 0; $i < $length; $i++) {
$index = mt_rand(0, $validcharnumber - 1);
$result .= $validcharacters[$index];
}
return $result;
}
echo getrandomstring();
获取协议 - http
url的协议,可以读出在$ _server ['server_protocol']变量。
*/
echo $_server['server_protocol'];
/*
如果你检查值,可以发现,不只是http或https,但这样的字符串:http/1.1的
*/
$protocol = strpos(strtolower($_server['server_protocol']),'https') === false ? 'http' : 'https';
/*
获取主机域名*/
$host = $_server['http_host'];
/*
利用$ _server['script_name']获取除域名外的php文件与路径
*/
$script = $_server['script_name'];
//获取?后面查询参数
$params = $_server['query_string'];
//方法二
$uri = $_server['request_uri'];
//下面来看一个完整的获取当前url实例
$protocol = strpos(strtolower($_server['server_protocol']),'https') === false ? 'http' : 'https';
$host = $_server['http_host'];
$script = $_server['script_name'];
$params = $_server['query_string'];
$currenturl = $protocol . '://' . $host . $script . '?' . $params;
echo $currenturl;