php 字符串替换为星号或其它字符(手机号,身份证)

 更新时间:2016年11月25日 17:26  点击:1621
在php中字符串中指定位置的字符替换为星号我们有很我函数可以实现如有substr,preg_replace,substr_replace等下面我分别给这三个函数分别介绍一个实例,主要讲到电话,身份证.

手机号码字符串替换为星号代码:

 代码如下 复制代码

<?php
$str = "15832818835";
echo substr($str,0,3).'*****'.substr($str,8,strlen($str));//保留前三位和后三位
?>

或用正则

<?php
$s='www.111cn.net的王经理:13999312365 李经理:13588958741';
$s=preg_replace('#(d{3})d{5}(d{3})#', '${1}*****${2}', $s);
echo $s;
//王经理:139*****365 李经理:135*****741
?>


替换字符串中间位置字符为星号

 代码如下 复制代码

function half_replace($str){ 
   $len = strlen($str)/2; 
    return substr_replace($str,str_repeat('*',$len),ceil(($len)/2),$len); 

 
echo half_replace('test'),"n",half_replace('tests'),"n",half_replace('exceptions');

PHP身份证号打星号

 代码如下 复制代码

echo strlen($idcard)==15?substr_replace($idcard,"****",8,4):(strlen($idcard)==18?substr_replace($idcard,"****",10,4):"111cn.net提示身份证位数不正常!");

遍历目录下文件名并显示我们会用到几个函数一个是opendir目录读取函数,然后再利用readdir获取目录相在信息到数组然后通过while遍历出来。

显示目录下所有文件

 代码如下 复制代码

<?php

$dir=dirname(__FILE__)."/../www.111cn.net /";//这里输入其它路径
//PHP遍历文件夹下所有文件
$handle=opendir($dir.".");
//定义用于存储文件名的数组
$array_file = array();
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..") {
$array_file[] = $file; //输出文件名
}
}
closedir($handle);
print_r($array_file);

?>


删除指定目录下的所有文件

 代码如下 复制代码


/**
 * 删除指定目录下的所有文件
 *
 * @param String $dir  要进行操作的路径
 * 适合范围,只有用于文件夹内不存在子文件夹的情况下
 * 来源  DZ
 * 小佳(www.111cn.net)  整理 于 2006-06-26 
 */
function dir_clear($dir) {
    $directory = dir($dir);                //创建一个dir类(111cn.net的PHP手册上这么说的),用来读取目录中的每一个文件
    while($entry = $directory->read()) {   //循环每一个文件,并取得文件名$entry
        $filename = $dir.'/'.$entry;       //取得完整的文件名,带路径的
        if(is_file($filename)) {           //如果是文件,则执行删除操作
            @unlink($filename);
        }
    }
    $directory->close();                   //关闭读取目录文件的类
    result();
}  

首先我们要明白一点我们自己是无法来做天气预报这种功能的,这里我们只要调用api接口返回的数据就可以了,下面是以中国天气网的api接口调用实例我们一起来学习。 天气已经成为生活中不可缺少的话题,与我们的生活有着密切的关系,我博客右边就用php+ajax做了一个天气查询小模块。

理想的状态应该是用户根据不同的访问地自动获取当地的天气信息,但是暂时技术有限吧,只能完成手动查询的了。这个就简单多了,没用到过多的技术,主要是应用ajax调用一个开放接口,然后再处理一下返回的json数据就完成了。

接口地址:http://www.weather.com.cn/data/cityinfo/101200101.html

返回的值:{"weatherinfo":{"city":"武汉","cityid":"101200101","temp1":"28℃","temp2":"36℃","weather":"晴转多云","img1":"n0.gif","img2":"d1.gif","ptime":"18:00"}}


接口地址部分“101200101”,这串ID号是城市ID,我百度到城市对应的id,然后封装成了一个数组,用的时候直接调用就行了。核心代码也不多,主要是城市——ID比较大,我就不贴源码了,直接打包分享出来吧。需要的朋友直接下载就行了!

部份代码

 代码如下 复制代码


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery.js" ></script>
<script type="text/javascript">
$(function(){
 
 $("#submit").click(function(){
  //发送ajax请求
  var city = $("#city").val();
  $.post("getweather.php", {city:city}, function(data){
   if(data.weatherinfo.city){
    var city = data.weatherinfo.city;   //城市名称
    var temp1 = data.weatherinfo.temp1;  //最高气温
    var temp2 = data.weatherinfo.temp2;  //最低气温
    var weather = data.weatherinfo.weather;  //天气描述(“晴到多云”)
    alert(city+":"+weather+","+temp2+"-"+temp1); 
    return;
   }else{
    alert("没找到该城市");
   }
  },"json");
 });
 
});
</script>

getweather.php文件

 代码如下 复制代码

<form method="post">
 请输入城市:<input type="text" name="city" id="city" value="武汉" />
 <input type="button" name="sub" id="submit" value="查看天气" />
</form>


为、<?php

 include "citycode.php";
 $city = $_POST['city'];
 $citycode = @$citycode[$city];
 //echo "shibushi";
 if(empty($citycode)){
  echo "您输入的城市不在范围内";
 }else{
  echo file_get_contents("http://www.weather.com.cn/data/cityinfo/".$citycode.".html");
 }
?>

测试效果

源码下载:php ajax实现无刷新获取天气状态源码下载:

 

攒,顶,踩功能主要用于评论中这里我们来做一个简单基于jquery ajax与php的mysql实现的攒,顶,踩功能,文章最后附了源码下载。

php应用越来越多,也越来越广泛,为了增加网站的丰富多彩,从而出现了很多新的技术。ajax是现代网站中不能缺少的一项技术,他可以异步刷新数据,而实现很多效果,比如刷新验证码,微博中的攒功能,都是运用这个。

本次攒功能的效果图:

主页文件(index.php):

 代码如下 复制代码

<script type="text/javascript" src="/Public/js/jquery.min.js"></script>

<script type="text/javascript" src="finger_ajax.js"></script>

<?php

 header("Content-type:text/html;charset=utf-8");

 include "finger_ajax.php";

 


 $sql = "select * from finger_ajax";

 $res = mysql_query($sql,$link);

 while($row = mysql_fetch_array($res)){

  echo "<p>".$row['title']." <a href='#' onclick='finger(".$row['id'].")'><img src='finger.jpg'/>攒一下(<span class='finger".$row['id']."'>".$row['finger']."</span>)</a></p> ";

 }

?>


处理ajax请求及配置信息文件(finger_ajax.php):

 

 代码如下 复制代码

<?php

 /**"攒" 功能 响应ajax请求*/

 //配置

 $dbHost = "localhost";

 $dbUser = "root";

 $dbPass = "dddddd";

 $dbName = "test";

 $dbCharset = "utf8";

 


 $link = mysql_connect($dbHost,$dbUser,$dbPass) or die(mysql_error());

 mysql_query("set names ".$dbCharset);

 mysql_select_db($dbName);

 // End

 


 //接受对应的id

 if(!empty($_POST['id'])){

  $id = $_POST['id'];

  //“攒”加1

  $sql = "update finger_ajax set finger=finger+1 where id=$id;";

  if(mysql_query($sql,$link)){

   echo "ok";

  }else{

   echo "failed";

  }

 }

?>


js文件(finger_ajax.js):

 

//攒 js

 代码如下 复制代码

function finger(topic_id){

 $.post("finger_ajax.php", { "id": topic_id },

   function(data){

     if(data=="ok"){

   alert("感谢您的支持!");

  }else{

   alert("对不起,失败了!");

  }

   }, "text"); 

 //获取当前“攒”的次数并加1

 var finger = parseInt($(".finger"+topic_id).html())+1;

 //更新“攒”的次数

 $(".finger"+topic_id).html(finger);

}


数据库代码(finger_ajax.sql):

 代码如下 复制代码


DROP TABLE IF EXISTS `finger_ajax`;

CREATE TABLE `finger_ajax` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `title` varchar(50) NOT NULL DEFAULT '',

  `finger` int(11) NOT NULL DEFAULT '0',

  PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

 


-- ----------------------------

-- Records of finger_ajax

-- ----------------------------

INSERT INTO `finger_ajax` VALUES ('1', '今天天气还不错哦!去做点什么好呢?', '10');

INSERT INTO `finger_ajax` VALUES ('2', '欢迎来到 www.111cn.net,国庆将至,祝大家国庆节快乐!!', '3');


原文地址: php ajax实现攒,顶,踩的功能 http://file.111cn.net/upload/2013/12/a63.zip

 

如果你的网页出现301或404对于用户体验来讲是一个非常严重的问题了,所以我们在做php header301或404时就必须小心再小心了,正同我来看看。

301跳转

 代码如下 复制代码

header('HTTP/1.1 301 Moved Permanently');  
header('Location: http://www.abc.com/aaa/');  
exit();

不要漏了header(‘HTTP/1.1 301 Moved Permanently’); 不然返回不了301

404错误页面

 代码如下 复制代码

header("HTTP/1.1 404 Not Found");

如果上面的不起作用,可以试试下面的:

 代码如下 复制代码

header("Status: 404 Not Found");

所以为了万无一失,可以两句都写上:

 代码如下 复制代码

header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");

小提示,

如果写好代码之后我们必须使用站长工具来测试一下返回的状态是不是我们想要的哦。

[!--infotagslink--]

相关文章

  • php身份证校验码的计算例子

    下面来给各位同学介绍一个php身份证校验码的计算例子,希望本函数代码能帮助到各位同学哦。 例子 代码如下 复制代码 public function id_ver...2016-11-25
  • phpexcel导出数据身份证后四位0000解决办法

    在php中我们如果要导入excel数据我们通常会使用phpexcel插件了,但是有朋友会发与使用phpexcel导出数据出现身份证后四位是0000情况了,下面我们就来看解决办法。 最...2016-11-25
  • C#中截取字符串的的基本方法详解

    这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
  • c#中判断字符串是不是数字或字母的方法

    这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下...2020-06-25
  • PostgreSQL判断字符串是否包含目标字符串的多种方法

    这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23
  • 详解C++ string常用截取字符串方法

    这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • php字符串按照单词逐个进行反转的方法

    本文实例讲述了php字符串按照单词进行反转的方法。分享给大家供大家参考。具体分析如下:下面的php代码可以将字符串按照单词进行反转输出,实际上是现将字符串按照空格分隔到数组,然后对数组进行反转输出。...2015-03-15
  • 使用list stream: 任意对象List拼接字符串

    这篇文章主要介绍了使用list stream:任意对象List拼接字符串操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-09
  • 怎么查询自己的联通手机号码是否已经实名认证(实名制)?

    怎么查询自己的联通手机号码是否已经实名认证?现在手机一批一批的开始实名制了,自己的手机号买的时候没有实名认证,怎么才能知道自己的手机是否被知名认证了呢?认证以后就不能充话费打电话了,下面我们们一起来看看两种查看方法...2016-07-04
  • MySQL 字符串拆分操作(含分隔符的字符串截取)

    这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
  • C# 16 进制字符串转 int的方法

    这篇文章主要介绍了C# 16 进制字符串转 int的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • 获取中文字符串的实际长度代码

    JS中默认中文字符长度和其它字符长度计算方法是一样的,但某些情况下我们需要获取中文字符串的实际长度,代码如下: 复制代码 代码如下: function strLength(str) { var realLength = 0, len = str.length, charCode = -1;...2014-06-07
  • C#实现字符串转换成字节数组的简单实现方法

    这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
  • PostgreSQL 字符串处理与日期处理操作

    这篇文章主要介绍了PostgreSQL 字符串处理与日期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-01
  • php 中英文混合字符串截取

    文章介绍一个实用的函数,我们如果用php substr来截取字符在中文上处理的很有问题,今天自己写了一个比较好的中文与英文字符截取的函数,有需要的朋友可以参考下。 ...2016-11-25
  • C#实现对字符串进行大小写切换的方法

    这篇文章主要介绍了C#实现对字符串进行大小写切换的方法,涉及C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • c#将字节数组转成易读的字符串的实现

    这篇文章主要介绍了c#将字节数组转成易读的字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • C#获取字符串后几位数的方法

    这篇文章主要介绍了C#获取字符串后几位数的方法,实例分析了C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • 解决vue字符串换行问题(绝对管用)

    这篇文章主要介绍了解决vue字符串换行问题(绝对管用),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-06
  • C#判断一个字符串是否是数字或者含有某个数字的方法

    这篇文章主要介绍了C#判断一个字符串是否是数字或者含有某个数字的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25