How to replace characters by regular expression

这两天在做的一个项目库需要把联系人的部分电话号码显示出来,本来想的很简单就截取把substr控制从中间就ok了,后来发现有点小问题。还是用正则算了也算是复习一下吧。还是那句老话唯手熟尔 $c = ‘名字冻次达次12345678901黑喂狗0123-4567891’; $r = ‘/(\d+)(\d){4}(\d+)/is’;$preg_count= 5; $m = preg_replace($r, ‘${1}****${3}’, $c); echo $m; echo “$c”; //output //名字冻次达次12345****1黑喂狗0123-4****1 EOF.

微信开放平台api自定义菜单关键字自动回复开发案例

前段时间做了微信开放平台的项目,一下为此项目重点,其实就是源代码啦~ 当然删掉了一些数据库的操作以及敏感信息. 并感谢前人共享在网上的资料.更多的信息还请参考官方手册. keyword){ // $arr[]=”$this->keyword”; // $this->create_xml(“text”,$arr,array(2,0)); //$this->create_xml(“news”,$arr,array(2,0)); //判断关键词自动回复 //do something… switch ($this->keyword) { case ‘1001’: $r=$this->AutomaticReplyFromMenu(1001); $this->create_xml(“news”,$r,array(2,0)); break; case ‘1002’: //按照发送的关键词处理信息 case ‘?’: //keyword default. break; default: $arr[]= $default_string; $this->create_xml(“text”,$arr,array(2,0)); break; } }elseif(!$this->keyword){ if ($this->event==’CLICK’) {//按照自定义菜单的值处理并生成返回信息. switch ($this->keyevent){ case ‘1001’: $r=$this->AutomaticReplyFromMenu(1001); $this->create_xml(“news”,$r,array(2,0)); break; case ‘1002’: //do some by your keyword. default: //default. } […]

php扩展之stomp动手玩儿-(1)安装

最近项目需求需要用到一个ActiveMQ的服务。需要与php对接,所以在php中就要用到一个焦作stomp的扩展。 一 安装 Linux; #下载 wget http://pecl.php.net/get/stomp-1.0.5.tgz tar zxf stomp-1.0.5.tgz cd stomp-1.0.5 #通过phpize 生成编译所需配置文件 [注1] /usr/local/php/bin/phpize #编译安装三部曲1/configure 2/make 3/make install ./configure –enable-stomp –with-php-config=/usr/local/php/bin/php-config make && make install 完成之后就可以在结果里面看到 Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ 二 配置 修改php.ini 最后加上 [stomp] extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/stomp.so 三 验证 打开phpinfo.php文件可以看到 就表示安装没问题了。 下一篇文章讲记录一下stomp-php-1.0.0的应用。 [注1]用 phpize 编译共享 PECL 扩展库

bash脚本之管理web server

#!/bin/bash function startWebServer(){ sudo systemctl start php-fpm echo ‘start php DONE’ sudo systemctl start nginx echo ‘start nginx DONE’ sudo systemctl start mysqld echo ‘start mysqld DONE’ } function stopWebServer(){ sudo systemctl stop php-fpm echo ‘stop php DONE’ sudo systemctl stop nginx echo ‘stop nginx DONE’ sudo systemctl stop mysqld echo ‘stop mysqld DONE’ } […]

nginx 使用过程中的问题汇总

重装了之后今天想起把nginx+fastcgi php装上,遇到了一些小问题.记录如下,以后遇到问题了也会不定时更新. No input file specified 看了看error log是说: Unknown: open_basedir restriction in effect. File(/usr/share/nginx/html/index.php) is not within the allowed path(s): (/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/) in Unknown on line 0 修改了一下nginx的root dir或者把现有的路径写进php.ini就可以了.

[转载]php 输出csv文件及excel文件

原文地址:输出csv文件及excel文件”>php 输出csv文件及excel文件作者:流星飞雨 php输出csv和excel的原理 php手册例子,输出pdf文件 // We’ll be outputting a PDF header(‘Content-type: application/pdf’); // It will be called downloaded.pdf header(‘Content-Disposition: attachment; filename=”downloaded.pdf”‘); // The PDF source is in original.pdf readfile(‘original.pdf’); 输出编码和支持的格式 1.支持普通格式的csv文本规范,以空格和换行来识别 常用: tn 填充空白和换行 2.支持简单的html代码和表格规范 常用: table规范,表格合并规范,font标签规范 <table>     <tr>     <td colspan=”3″><font color=red>统计</font></td>     </tr>     <tr>     <td>11</td>     <td>12</td>     <td>13</td>     </tr> […]

[转载]php 遍历文件和文件夹

原文地址:遍历文件和文件夹”>php 遍历文件和文件夹作者:流星飞雨 <?php      function list_dir($dirpath){     //判断路径最后面的字符是否是反斜线,如果没有就加上一个     if($dirpath[strlen($dirpath)-1] !=”){ $dirpath.=”;}     //申明一个静态变量数组,这样每次递归调用该数组的值还会存在     static $result_array = array();     //判断所给目录是否为目录     if(is_dir($dirpath)){      //获取当前的子目录和文件名      $file_dirs = scandir($dirpath);//scandir — 列出指定路径中的文件和目录          //如果是两个特殊目录,就跳过去      foreach($file_dirs as $file){       if($file == ‘.’ || $file ==’..’){ continue;}       if(is_dir($dirpath.$file)){        //如果是目录,递归调用        list_dir($dirpath.$file.”);       }else{    […]

[转载]php面试

原文地址:php面试作者:流星飞雨 1. 编一个字符串顺序倒过来输出的涵数. 例:请把“abcde” 输出为 “edcba”. 必须使用涵数来编成. echo strrev(“abcde”);2. 编 一个排列数字的程序. 例:请把 9,5,13,3,1几个数字按1,3,5,9,13最小的数字开始排序.但是不能使用语言中的排列涵数,只能使用for,while来编成. <?php //冒泡排序函数 function bubble(&$arr){     $count=count($arr);     if($count>1){         for($i=0;$i<$count;$i++){             for($j=$count-1;$j>=$i;$j–){                 if($arr[$j-1]>$arr[$j]){                     $temp=$arr[$j-1];                     $arr[$j-1]=$arr[$j];                     $arr[$j]=$temp;                 }              }          }      }     return $arr; }   $arr=array(9,5,13,3,1); print_r(bubble($arr)); ?> 3. 编一个输出从1到10,000单数总合的程序.即,1+3+5+7+9+11+…+9997+9999的总合值的程序. $sum=0; while($i<=9999) {  $sum=$sum+$i;  $i=$i+2; } echo […]