php怎么输出字符,如何搭建php环境?
我用的是集成环境xampp,好处是你不必再一个个的单独安装,一键集成,基本都帮你配置好了,一些额外的配置可自行设置。首先下载好所需的安装包。
安装包下载好后,双击运行,我这里安装的是7.2.7版本的,其实你安装哪个都可以,双击后基本一直Next即可。
到最后的安装完成,会询问你是否现在就要运行,可以先勾选上,表示现在就开始运行环境。
安装完成后,要选择语言,我选择的是美国标识,然后点击Save,保存即可。
至此安装完成,然后会弹出xampp的控制面板,你在弹出的窗中将Apache、MySQL后面带有的Action动作中的Start点击下,标识开启服务器Apache和运行数据库MySQL。
xampp的安装目录中的文件有很多,如果你觉得有些你目前不会用到,那么可以将属性设置为隐藏,这样目录就看起来简洁多了。
xampp的程序目录在htdocs中,访问程序的话,在你的浏览器中输入localhost/xxx 就可以访问了。
PHP字符串压缩流问题?
在PHP中偶尔遇到字符串的压缩,比如一个长字符串,数据库开始设计的字段存不下,但是又不想改数据库字段存储长度,就可以用压缩的方式降低数据字段字符串的长度数量级,把几百个字符的字符串压缩到几十个字符。总结下来有以下几个:
压缩函数:gzcompress gzdeflate gzencode
与之对应的解压函数如下:
解压函数:gzuncompress gzinflate gzdecode
特别注意:gzdecode是PHP 5.4.0之后才加入的,使用的时候要注意兼容性问题。
gzcompress gzdeflate gzencode函数的区别在于它们压缩的数据格式不同:
gzcompress使用的是ZLIB格式;
gzdeflate使用的是纯粹的DEFLATE格式;
gzencode使用的是GZIP格式;
PHP判断一个字符串是否是一个单词?
Php中没有判断一个字符串是不是单词的函数或者是代码,php本身不是用于Ai的计算机程序语言,不具备这个能力
同样,其他的计算机雨中也没有这样的函数或者是代码,因为单词的量是巨大的,不可能用一个代码或一些代码识别出来
hex2bin?
PHP hex2bin() 函数
实例
把十六进制值转换为 ASCII 字符:
<?php
echo hex2bin("48656c6c6f20576f726c6421");
?>
以上实例输出结果:
Hello World!
定义和用法
hex2bin()函数把十六进制值的字符串转换为 ASCII 字符。
语法
hex2bin( _string_ )
PHP中英文混合排版中处理字符串常用的函数?
对一段文字按照字数进行分割,因为文字中可能是中英文混合的,而php函数strlen只能计算出字串的字节数,于是自己实现了几个函数,分享下。 例1,计算字符总长度。 01 <?php 02 function ccStrLen($str) #计算中英文混合<a href="/" class="infotextkey">字符串</a>的长度 03 { 04 $ccLen=0; 05 $ascLen=strlen($str); 06 $ind=0; 07 $hasCC=ereg(”[xA1-xFE]“,$str); #判断是否有汉字 08 $hasAsc=ereg(”[x01-xA0]“,$str); #判断是否有ASCII字符 09 if($hasCC && !$hasAsc) #只有汉字的情况 10 return strlen($str)/2; 11 if(!$hasCC && $hasAsc) #只有Ascii字符的情况 12 return strlen($str); 13 for($ind=0;$ind<$ascLen;$ind++) 14 { 15 if(ord(substr($str,$ind,1))>0xa0) 16 { 17 $ccLen++; 18 $ind++; 19 } 20 else 21 { 22 $ccLen++; 23 } 24 } 25 return $ccLen; 26 } 27 ?> 例2,从左侧截取字符串。 01 <?php 02 function ccStrLeft($str,$len) #从左边截取中英文混合字符串 03 { 04 $ascLen=strlen($str); if($ascLen<=$len) return $str; 05 $hasCC=ereg(”[xA1-xFE]“,$str); #同上 06 $hasAsc=ereg(”[x01-xA0]“,$str); 07 if(!$hasCC) return substr($str,0,$len); 08 if(!$hasAsc) 09 if($len & 0×01) #如果长度是奇数 10 return substr($str,0,$len+$len-2); 11 else 12 return substr($str,0,$len+$len); 13 $cind=0;$flag=0;$reallen=0;//实际取字节长 14 while($cind<$ascLen && $reallen<$len) 15 { //by
www.jbxue.com
16 if(ord(substr($str,$cind,1))<0xA1){ //如果该字节为英文 则加一 17 $cind++; 18 }else{//否则 加2个字节 19 $cind+=2; 20 } 21 $reallen++; 22 } 23 return substr($str,0,$cind); 24 } 25 ?> 例3,把给定文字,按切割数量存入数组(适合短篇文字,长文章可没分隔一部分就直接处理一次) view sourceprint? 01 <?php 02 function SplitContent($content,$smslen){ 03 $str_tmp=$content; 04 $arr_cont=array(); 05 $len_tmp=0; 06 $i=0;//分割绝对位置 07 while (strlen($str_tmp)>0){ 08 $str_tmp=ccStrLeft($str_tmp,$smslen); 09 array_push($arr_cont,$str_tmp); 10 $i+=strlen($str_tmp); 11 $str_tmp=substr($content,$i,strlen($content)); 12 } 13 return $arr_cont; 14 } //bywww.jbxue.com
15 ?> 测试: 1 <?php 2 $str=’a计算中英文混合1234字符串的长度abcd’; 3 echo $str.’的长度为:’.ccStrLen($str); 4 echo ‘<br>’; 5 $smslen=3;//截取长度 6 print_r(SplitContent($str,$smslen)); 7 ?>