首页 > 编程技术 > php

把汉字转换成拼音代码

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

上面有三个函数对应的是取汉字码,与转换成相对就的拼音,我们的实例是简单的,只举了a开头的汉字转换拼音的实例代码。

$piny = array(
    'a'=>-20319,
    'ai'=>-20317,
    'an'=>-20304,
    'ang'=>-20295
    );
echo  getChineseSpells('中国WEB第一站 www.111cn.net');
//取汉字所有拼音
function getChineseSpells($chinese, $delimiter = ' ', $first=0)
 {
  $result = array();
  for ($i=0; $i<strlen($chinese); $i++) {
   $p = ord(substr($chinese,$i,1));
   if ($p>160) {
    $q = ord(substr($chinese,++$i,1));
    $p = $p*256 + $q - 65536;
   }
   $result[] = getChineseSpell($p);
   if ($first) {
    return $result[0];
   }
  }
  return implode($delimiter, $result);
 }
 
//取一个汉字码对应的拼音
function getChineseSpell ($num, $blank = '') {
  if ( $num>0 && $num<160 ) {
   return chr($num);
  } elseif ($num<-20319||$num>-10247) {
   return $blank;
  } else {
   foreach (chineseSpellList as $spell => $code) {
    if ($code > $num) break;
    $result = $spell;
   }
   return $result;
  }
 }

//功能,取汉字第一个拼音
function getFirstSpell($chinese, $length = 0) {
  $spell =getChineseSpells($chinese, ' ', 1);
  if ($length) {
   $spell = substr($spell, 0, $length);
  }
  return $spell;
 }
/*

*/

在php入门教程中php mysql是少不了的,下面我们就要告诉各位关于php mysql数据删除,更新,插入保存数据代码下面来一一看实例

一、数据删除

 代码如下 复制代码

<?php
//连接数据库教程
$link_id = mysql_connect("localhost","root","") or die("连接失败");
if($link_id)
{
 mysql_select_db("my_test");
 if(!$_GET[id])
 {

  $result=mysql_query("select * from userinfo");
  echo "<TABLE border=1>
    <TR>
     <TD>编号www.111cn.net</TD>
     <TD>用户名称</TD>
     <TD>性别</TD>
     <TD>年龄</TD>
     <TD>注册时间</TD>
     <TD>操作</TD>
    </TR>";

 

  while($row=mysql_fetch_array($result)){
   echo "<TR>
     <TD>".$row[id]."</TD>
     <TD>".$row[username]."</TD>
     <TD>".$row[gender]."</TD>
     <TD>".$row[age]."</TD>
     <TD>".$row[regdate]."</TD>
     <TD><a href=delete.php?id=".$row[id].">删除</a></TD>
    </TR>";
  }
  echo "</TABLE>";

 }//显示列表的内容
 else
 {

   $sql="delete from userinfo where id=".$_GET[id];
   $result=mysql_query($sql);
   if($result)
    echo "记录已经成功删除<br><a href='delete.php'>返回</a>";
   else
    echo "记录删除失败<br><a href=delete.php.php?id=".$_GET[id].">返回</a>";

 }//else($id部分)
} // end ifwww.111cn.net
?>

二、php数据修改

 代码如下 复制代码

<?php
//连接数据库
$link_id = mysql_connect("localhost","root","") or die("连接失败");
if($link_id)
{
 mysql_select_db("my_test");
 if(!$_GET[id])
 {

  $result=mysql_query("select * from userinfo");
  echo "<TABLE border=1>
    <TR>
     <TD>编号</TD>
     <TD>用户名称</TD>
     <TD>性别</TD>
     <TD>年龄</TD>
     <TD>注册时间</TD>
     <TD>操作</TD>
    </TR>";

 

  while($row=mysql_fetch_array($result)){
   echo "<TR>
     <TD>".$row[id]."</TD>
     <TD>".$row[username]."</TD>
     <TD>".$row[gender]."</TD>
     <TD>".$row[age]."</TD>
     <TD>".$row[regdate]."</TD>
     <TD><a href=modify.php?id=".$row[id].">编辑www.111cn.net</a></TD>
    </TR>";
  }
  echo "</TABLE>";

 }//显示列表的内容
 else
 {
  if(!$_POST[ok])
  {
   $sql="select * from userinfo where id=".$_GET[id];
   $result=mysql_query($sql);
   $row=mysql_fetch_array($result);
   ?>
   <form method=post action='modify.php?id=<? echo $_GET[id];?>'>
   <?
   echo $row[id]."<br>"; 
   ?>
   <INPUT TYPE="hidden" name="id" value=<?echo $row[id];?>>
   姓名 <input type=text name="username" value=<?echo $row[username];?>><br>
   性别 <input type=text name="gender" value=<?echo $row[gender];?>><br>
   年龄 <input type=text name="age"   value=<?echo $row[age];?>><br>
   注册时间 <input type=text name="regdate"   value=<?echo $row['regdate'];?>><br>
   <input type=submit name=ok value="提交">
   </form>
   <?
  }// if(!$_POST[ok])
  else{//针对$ok被激活后的处理:
   
   $sql="update userinfo set username='".$_POST[username]."',gender='".$_POST[gender]."',age='".$_POST[age]."',regdate='".$_POST[regdate]."' where id='".$_POST[id]."'";
   $result=mysql_query($sql);
   if($result)
    echo "记录已经成功修改<br><a href='modify.php'>继续修改记录www.111cn.net</a>";
   else
    echo "记录修改失败<br><a href=modify.php?id=".$_POST[id].">返回</a>";
  }
 }//else($id部分)
} // end if
?>

三、php数据保存

 代码如下 复制代码

<?php
if($_POST[ok])
{
 $link_id = mysql_connect("localhost","root","") or die("连接失败");
 if($link_id)
 {
  //选择数据库
  mysql_select_db("my_test");
  //插入数据SQL语句
  $sql="insert into userinfo values('".$_POST[id]."','".$_POST[name]."','".$_POST[gender]."','".$_POST[age]."','".$_POST[regdate]."')";
  //执行SQL语句
  $result=mysql_query($sql);
  if($result)
  {
   echo "记录已经成功插入<br><a href='insert.php'>继续插入记录</a>";
  }
  else
   echo "执行插入SQL语句失败";
  //关闭数据库
  mysql_close($link_id);
 }
}
else
{
 ?>
 <form method=post action=insert.php>
 编号<input type=text name="id"><br>
 姓名<input type=text name="name"><br>
 性别<input type=text name="gender" ><br>
 年龄<input type=text name="age"><br>
 注册时间<input type=text name="regdate"><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 <input type=submit name=ok value="提交">
 </form>
 <?
}//end if
?>

原理根据用户给出的ip,再获取当前IP然后转换成数字型的,根据IP,a,b,c类进行计算,根据进行对比就OK

 

 代码如下 复制代码
$start =ipToInt('192.168.1.110');
 $end = ipToInt('192.168.0.1');
 $ipInt = ipToInt( get() );
 $result = false;
 if ($ipInt>=$start && $ipInt<=$end) {
   $result = true;
 }
 
 if( $result )
 {
  echo '在同一网段';
 }
 else
 {
  echo '不在同一网段';
 }


 //不在同一网段
 
 /*
  * IP转成整形数值
  * @param string $ip IP
  * @return int
  */

 代码如下 复制代码
 function ipToInt($ip) {
  $ips教程 = explode('.',$ip);
  if (count($ips)>=4) {
   $int = $ips[0]*256*256*256+$ips[1]*256*256+$ips[2]*256+$ips[3];//根据IP,a,b,c类进行计算
  } else {
   throw new Exception('ip is error');
  }
  return $int;
 }


 /*
 * 获取用户IP地址 192.68.0.110
 */
 

 代码如下 复制代码
 function get() {
  if ($_SERVER['HTTP_CLIENT_IP'] && $_SERVER['HTTP_CLIENT_IP']!='unknown') {
   $ip = $_SERVER['HTTP_CLIENT_IP'];
  } elseif ($_SERVER['HTTP_X_FORWARDED_FOR'] && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown') {
   $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  } else {
   $ip = $_SERVER['REMOTE_ADDR'];
  }
  return $ip;
 }
 /*

 

本站原创转载注明来源www.111cn.net
 */

//定义输出为图像类型
$n=10;
//变量$n是显示位数

//利用上面的方法,取得访问人数并赋值给变量$str1 (程序略)
$str1=$count;
$str2 = "";
//位数如果不够$n位,在前面补0
$len1 = strlen($str1);
for ($i=1;$i<=$n;$i++) {
$str2 = "0".$str2;
};
//得到$n位0
$len2 = strlen($str2);
//计算访问人数的位数
$dif = $len2 - $len1;
$rest = substr($str2, 0, $dif);
$string = $rest.$str1;
//位数如果不够$n位,在前面补0
for ($i=0;$i<=$n-1;$i++) {
$str[$i]=substr($string,$i,1);
};
//以数组存储每位数字
$font = 4;
//定义字号
$im = imagecreate($n*11-1,16);
//新建图象
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
//定义颜色
imagefill($im, 0,0,$black);
//把计数器的底色设置成黑色
ImageString($im,$font,1,0,$str[0],$white);
for ($i=1;$i<=$n-1;$i++) {
imageline($im, $i*11-1,0,$i*11-1,16, $white);
ImageString($im,$font,$i*11+1,0,$str[$i],$white);
};
//将每位写入图象,并以竖线分隔
ImageGif($im);
//图象输出
ImageDestroy($im);
//释放图象

这个网页图片统计器的原理很简单就是把我们保存到txt中的文本读出来再做成相对就的图片数字,这样就可以做成网页图片统计器了。

<HTML>
<HEAD>
<TITLE>图形页面计数器范例</TITLE>
</HEAD>

<BODY>

<?PHP

$

 代码如下 复制代码

countfile = "num.txt";
//定义计数器写入的文件是当前目录下count.txt,然后我们应当测试该文件能否打开
if (($fp = fopen($countfile, "r+")) == false) { //用读写模式打开文件,若不能打开就退出
 printf ("打开文件 %s 失败!",$countfile);
 exit;
}
else
{
 //如果文件能够正常打开,就读入文件中的数据,假设是1
 $count = fread ($fp,10);
 //读取10位数据
 $count = $count + 1;

 fclose ($fp);
 //关闭当前文件
 $fp = fopen($countfile, "w+");
 //以覆盖模式打开文件
 fwrite ($fp,$count);
 //写入加1后的新数据
 fclose ($fp);
 //并关闭文件
}

//$count转换为图片模式的代码

 $fp = fopen ($countfile, "r"); //以只读模式打开文件
 $array_count = 1; //定义一个表示数组元素位置的变量,下面要用
 while (! feof($fp)) {
  $current_number = fgetc($fp);
  $counter_array[$array_count] = $current_number;
  $array_elements = count ($counter_array);
  $array_count = $array_count + 1;
 }
 //显示代码
 echo ("<table border="0" height="5" align="left"><tr><td  align="center">欢迎您,第");

 for ($array_id = 1;$array_id < $array_elements; ++ $array_id) {
  echo ("<img" width=100% src="./img/$counter_array[$array_id].gif" align=absmiddle>");
 }

 echo ("位客人</td></tr></table>");
 

?>

</BODY>
</HTML>

 

标签:[!--infotagslink--]

您可能感兴趣的文章: