首页 > 编程技术 > php

php 正则判断中文(自动识别UTF-8 & GBK编码)

发布时间:2016-11-25 15:11

下面这款实例程序是一款PHP 正确匹配UTF8或gbk中文的正则表达式程序,能准确的获取不同编码情况的中文汉字的识别。
 代码如下 复制代码
$action = trim($_get['action']);
if($action == "sub")
{
    $str = $_post['dir'];   
    //if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."a-za-z0-9_]+$/",$str)) //gb2312汉字字母数字下划线正则表达式
    if(!preg_match("/^[x{4e00}-x{9fa5}a-za-z0-9_]+$/u",$str))   //utf-8汉字字母数字下划线正则表达式
    {  
        echo "<font color=red>您输入的[".$str."]含有违法字符</font>";  
    }
    else
    {
        echo "<font color=green>您输入的[".$str."]完全合法,通过!</font>";  
    }
}
?>

<form method="post" action="">
输入字符(数字,字母,汉字,下划线):
    <input type="text" name="dir" value="">
    <input type="submit" value="提交">
</form>

gbk:

 代码如下 复制代码
preg_match("/^[".chr(0xa1)."-".chr(0xff)."a-za-z0-9_]+$/",$str); //gb2312汉字字母数字下划线正则表达式

 

 代码如下 复制代码

 <html>
<head>
<title>php教程入门教程:利用表单调查表实例</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#ffffff">

<?php
// 定义显示表单函数
function display_form() {

global $php_self;

?>
<form action="<?php echo $php_self; ?>"method=post>
名字: <input type=text name="name"><br>
单项选择:
<input type=radio name="first" value="我很笨">我很聪明
<input type=radio name="first" value="我非常笨">我很笨
<input type=radio name="first" value="我简直就是个傻冒"> 我简直就是个傻冒 <br>

多项选择:
<input type=checkbox name="second[]" value="我喜欢打蓝球">我喜欢打蓝球
<input type=checkbox name="second[]" value="我喜欢游泳">我喜欢游泳
<input type=checkbox name="second[]" value="我喜欢跳舞">我喜欢跳舞
<input type=checkbox name="second[]" value="我喜欢爬山">我喜欢爬山
<input type=hidden name="stage" value= "results"><p>
<input type=submit value= "谢谢"></p>
</form>

<?php
}
?>

//程序开始

<?php

 代码如下 复制代码

// 定义处理表单函数
function process_form()
{
global $name ;
global $first;
global $second;

if ($first == '我很笨') {
 $first_message = '你不笨。';
}
elseif ($first == '我很聪明') {
 $first_message = '你不聪明。';
}
else {
 $first_message = '你简直就象是一个聪明的人了。';
}

$favorite_second = count($second);
if ($favorite_second <= 1)

 $second_message = '但你做错事了,忏悔吧!';
}
elseif ($favorite_second > 1 && $favorite_second < 4)
{
 $second_message = '你是只爱运动的的猩猩。';
}
else {
 $second_message = '你运动的太多了,对猩猩来讲已经过量:(';
}

echo "这是一项针对猩猩的测试:<br><br>";
echo "你好! 你的名字叫:$name. <br><br>";
echo "你的测验结果是。。。。。$first_message $second_message";
}
?>

<?php
if (empty($stage)) { display_form(); }
else { process_form(); }
?>

</body>
</html>

_FILES[\'inputname\'][\'type\']只能识别少数类型,但是它是根据文件内容来识别的,特别是对于许多把BMP图形保存为JPG文件的相机
 代码如下 复制代码
$a =time();
echo date('y-m-d',$a);
$array = array('jpg','gif','png','jpeg');
$picimg ='/upfile/upload_pic/thumbnail_1258615556.jpg';
$img = strtolower($picimg);
$ext = substr($img,strrpos($img,'.')+1);
echo $ext;
if( !in_array( $ext,$array ) )
{
 exit('缩略图地址错误,请重新上传!');
}

//$_files['inputname']['type']
$_files['inputname']['type']

很多的朋友在问php连接mysql数据库,今天我们就来讲一下最基本的最简单的利用php连接mysql数据库的实例代码吧。

$localhost ='localhost';//连接服务器,大多情况下用localhost就可以了,
$user ='root';//mysql登录帐号
$upwd ='123456';//mysql服务器的登陆密码
$db = 'db';//你的mysql数据库

 

 代码如下 复制代码
$conn = mysql_connect($localhost,$user,$upwd) or die(mysql_error().'mysql数据连接失败');
mysql_select_db($db,$conn) or die('数据库不存在'.mysql_error());

//上面是一种最简单的mysql与php数据库连接方法了,下来来一段稍稍具有判断性的连接代码。


$liketype ='p'; //这里是判断是使用长久连接还是临时连接
$charset ='gbk'; //设置连接mysql数据库编码,这样就不会出来连接数据库出现乱码了。

 代码如下 复制代码
try{
 if( 'p' == $links )
 {
  $conn = mysql_pconnect($localhost,$user,$upwd) or die(mysql_error());       
 }
 else
 {
  $conn = mysql_connect($localhost,$user,$upwd) or die( mysql_error());
 }
 mysql_select_db($db,$conn); 
 mysql_query("set names '$charset'");
 
}catch (exception $e){
 echo '数据库连接失败,请联系相关人员!';
 exit;

//本站原创转载注明来源http://www.111cn.net/phper/php.html

本教程为你讲一下关于正则表达式匹配空格方法与代码实例哦,看看这几种匹配空格的有效方法吧。

regex.replace (line , @"s+" , ",");//转换空格为“,”
s匹配任意的空白符,包括空格,制表符(tab),换行符,中文全角空格
s 空白字符:[ ] //这个市重点!

制表符 ('u0009')
新行(换行)符 ('u000a')
回车符 ('u000d')
换页符 ('u000c')
 报警 (bell) 符 ('u0007')
e 转义符 ('u001b')
cx 对应于 x 的控制符


实例一
explode是用字符串打散字符串
split才是用正则打散字符串

 代码如下 复制代码
$str = "123 456";
$patten = "/s+/";
$result = split($patten,$str);
echo join("<br>",$result);

 

标签:[!--infotagslink--]

您可能感兴趣的文章: