首页 > 编程技术 > php

php 字符串处理函数大全教程

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

//截取字符串
mb_substr($str,star,count,encode);
//获取字符串长度
mb_strlen();
//完整保留在textarea文本中的回车换行
str_replace(chr(10),"<br />",$textarea);


//根据ascii返回相应的字母
echo "ascii为66的字母是:". chr(66)."<br>";

//chop 去除字符串中的连续空格和空白
$str="         he llo wo rd     ";echo "s:";
echo "s:".chop($str)."w";

//explode 按照某个字符分割字符串 返回数组
$str="green,red,yellow,white";
$arr=explode(" ",$str);echo "分割后的数组是:";
print_r($arr);

//implode 将数组按照某个字符拼成字符串
$arr=array("a","b","c","d");
$str=implode('/',$arr);
echo "<br>拼成的字符串是:".$str;

//打印print
print("打印的方法print");
echo "格式化打印printf:<br>";
printf("%f%",2,"d");

//不区分大小写比较字符串
echo "不区分大小写:".strcasecmp("hello word","hello word");
//区分大小写
echo "区分大小写:". strcmp("hello word","hello word");

//查找字符串
echo "查找的结果是:". strchr("hello word","hello");
//字符串长度
echo "str长度:".strlen("hello word");

//将字符串重复几次str_repeat
echo "将字符串重复几次:".str_repeat("ws",3);

//将字符串倒序排列
echo "zifuchuandaoxu:".strrev("zifuchuandaoxu");

//将字符串大写,小写转化
//strtolower();
//strtoupper();
//字符串替换,
echo "替换后的字符串是:". str_replace("b","*","aaaaabbbbbccccc");
//切割字符串
echo "切割后的字符串是:". substr("hello word",2,3);

这是一款非常简单的php mysql用户登录代码,适合初学者,希望本文章对各位同学会带来帮助。
 代码如下 复制代码

error_reporting(0);
$mysql_servername = "localhost"; 
$mysql_username = "root"; 
$mysql_password =""; 
$mysql_database ="peng"; 
mysql_connect($mysql_servername , $mysql_username , $mysql_password);
mysql_select_db($mysql_database); 
$name=$_post['name'];
$passowrd=$_post['password'];

if ($name && $passowrd){
 $sql = "select * from liuyanban where name = '$name' and password='$passowrd'";
 $res = mysql_query($sql);
 $rows=mysql_num_rows($res);
  if($rows){
  header("refresh:0;url=a.htm");
  exit;
 }
 echo "<script language=网页特效>alert('用户名密码错误');history.back();</script>";
}else {
 echo "<script language=javascript>alert('用户名密码不能为空');history.back();</script>";
}

?>

以下login.htm内容

<html>
<body>
<form name="login" action="login.php" method=post>
用户名<input type=text name="name">
<p>密码<input type=password name="password">
<p>
<input name="log" type=submit value="登录">
</form>
</body>
</html> 

本文章提供这三款php 截取字符串函数各有各的特点,所有字符串截取函数都支持中文汉字截取,解决了乱码问题,方法二,支持多种编码的截取。

//字符串截取函数一

 代码如下 复制代码

function mystr($str,$str_len) {//剪取一定长度的字符串(字符串,剪取长度)
     if (strlen($str)<=$str_len) {
         return $str;
     }else return mysubstr($str,0,$str_len)."...";
}
function mysubstr($str, $start, $len) {//剪取一定长度的字符串(字符串,剪取长度)
     $tmps教程tr = "";
     $strlen = $start + $len;
     for($i = 0; $i < $strlen; $i++) {
         if(ord(substr($str, $i, 1)) > 0xa0) {
             $tmpstr .= substr($str, $i, 2);
             $i++;
         } else
         $tmpstr .= substr($str, $i, 1);
     }
     return $tmpstr;
}

//字符截取函数二

 代码如下 复制代码

function syssubstr($string,$length,$append = false)
{
if (strlen($string) < = $length )
{
return $string;
}
else
{
$i = 0;
while ($i < $length)
{
$stringtmp = substr($string,$i,1);
if ( ord($stringtmp) >=224 )
{
$stringtmp = substr($string,$i,3);
$i = $i + 3;
}
elseif( ord($stringtmp) >=192 )
{
$stringtmp = substr($string,$i,2);
$i = $i + 2;
}
else
{
$i = $i + 1;
}
$stringlast[] = $stringtmp;
}
$stringlast = implode("",$stringlast);
if($append)
{
$stringlast .= "...";
}
return $stringlast;
}
}

$string = "";
$length = "18";
$append = false;
echo syssubstr($string,$length,$append);


// utf-8:$byte=3 | gb 2312:$byte=2 | big5:$byte=2

 代码如下 复制代码

function bite_str($string, $start, $len, $byte=3)
{
     $str     = "";
     $count   = 1;
     $str_len = strlen($string);
     for ($i=0; $i<$str_len; $i++) {
         if (($count+1-$start)>$len) {
             $str   .= "...";
             break;
         } elseif ((ord(substr($string,$i,1)) <= 128) && ($count < $start)) {
             $count++;
         } elseif ((ord(substr($string,$i,1)) > 128) && ($count < $start)) {
             $count = $count+2;
             $i     = $i+$byte-1;
         } elseif ((ord(substr($string,$i,1)) <= 128) && ($count >= $start)) {
             $str   .= substr($string,$i,1);
             $count++;
         } elseif ((ord(substr($string,$i,1)) > 128) && ($count >= $start)) {
             $str   .= substr($string,$i,$byte);
             $count = $count+2;
             $i     = $i+$byte-1;
         }
     }
     return $str;
}

// test
$str = "1测试测试2测试测试3测试测试4测试测试";
echo $str;
echo "<br>".bite_str($str,0,20,2);//0为开始地址,20为结束地址2为类型上面说到的

//方法四,支持中英文字符串截取函数

 代码如下 复制代码

function ccstrlen($str) #计算中英文混合字符串的长度
{
$cclen=0;
$asclen=strlen($str);
$ind=0;
$hascc=ereg("[xa1-xfe]",$str); #判断是否有汉字
$hasasc=ereg("[x01-xa0]",$str); #判断是否有ascii字符
if($hascc && !$hasasc) #只有汉字的情况
return strlen($str)/2;
if(!$hascc && $hasasc) #只有ascii字符的情况
return strlen($str);
for($ind=0;$ind<$asclen;$ind++)
{
if(ord(substr($str,$ind,1))>0xa0)
{
$cclen++;
$ind++;
}
else
{
$cclen++;
}
}
return $cclen;
}

 代码如下 复制代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>php教程 ajax分页程序代码</title>
<script language="网页特效" type="text/javascript">
function $()
{
  var elements = new array();
  for (var i = 0; i < arguments.length; i++)
  {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getelementbyid(element);
    if (arguments.length == 1)
      return element;
    elements.push(element);
  }
  return elements;
}

var xmlhttp
function pagination(page)
{
xmlhttp=getxmlhttpobject();
if (xmlhttp==null)
  {
  alert ("your browser does not support ajax!");
  return;
  }
var url="server.php";
url = url+"?starting="+page;
url=url+"&sid="+math.random();
xmlhttp.onreadystatechange=statechanged;
xmlhttp.open("get",url,true);
xmlhttp.send(null);
}

function statechanged()
{
/****
0 - (未初始化)还没有调用send()方法
 1 - (载入)已调用send()方法,正在发送请求
 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
 3 - (交互)正在解析响应内容
 4 - (完成)响应内容解析完成,可以在客户端调用了
***/
if (xmlhttp.readystate==4)
{
$("page_contents").innerhtml=xmlhttp.responsetext;
}
}

function getxmlhttpobject()
{
var xmlhttp=null;
try
  {
  // firefox, opera 8.0+, safari
  xmlhttp=new xmlhttprequest();
  }
catch (e)
  {
  // internet explorer
  try
    {
    xmlhttp=new activexobject("msxml2.xmlhttp");
    }
  catch (e)
    {
    xmlhttp=new activexobject("microsoft.xmlhttp");
    }
  }
return xmlhttp;
}
</script>
<link rel="stylesheet" type="text/css教程" href="style.css" />
</head>

<body>
<div id="page_contents">

 

 代码如下 复制代码
function pagenavi($total, $offset){
 global $conf_pagemax;
 global $conf_home;
 global $conf_pastlog;
 global $view;
 
 $next = $offset + $conf_pagemax;
 $prev = $offset - $conf_pagemax;
 echo " <!-- page navigation --> ";
 
 if($offset > $conf_pagemax-1){
  echo "<a href="index.php?offset=$prev";
  if($view == "past"){
   echo "&view=past";
  }
  echo ""><<上一页</a> ";
 }
 ($total % $pagemax)? $pagenum = ($total/$conf_pagemax) + 1: $pagenum = ($total/$conf_pagemax);
 if($total <= $conf_pagemax) $pagenum = 0;
 $c = 0;
 $page = 1;
 if($total > $conf_pagemax){
  echo "[<b> ";
  while($pagenum > 0){
   if($offset == $c){
    $str .= " $page ";
   } else {
    $str .= " <a href="index.php?offset=$c";
    if($view =="past"){
     $str .= "&view=past";
    }
    $str .= "">$page</a> ";
   }
   $page++;
   $pagenum--;
   $c = $c + $conf_pagemax;
  }
  echo "$str </b>] ";
 }
 if($next < $total){
  echo "<a href="index.php?offset=$next";
  if ($view == "past"){
   echo "&view=past";
  }
  echo "">下一页>></a> ";
 }
 echo "</td></tr></table>";
 echo " <!-- end of page navigation --> <br><br>";
 
 echo "
[ <a href="$conf_home">返回主页</a> ]
 ";
 
 if($view != "past"){
  if(file($conf_pastlog)){
   echo "[ <a href="index.php?view=past">以前的留言</a> ]";
  }
 }
 echo " [ <a href="search.php"> 搜索</a> ] ";
 echo " [ <a href="index.php">留言板首页</a> ] ";
 
 
}
标签:[!--infotagslink--]

您可能感兴趣的文章: