十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
解决这个问题的办法,可以使用如下方法:
创新互联建站专注于企业成都全网营销、网站重做改版、仙居网站定制设计、自适应品牌网站建设、H5场景定制、成都商城网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为仙居等各大城市提供网站开发制作服务。
一、通过遍历字符串,并对字符进行判断。
二、使用正则表达式,取出数字。
$r[1]里面没有东西,返回值就是以数组的形式返回。
32能和11相加的原因是因为。php是弱类语言,会总动转换数据类型。你用11这个整数和他相加,那就是int型
如果你换成$b="aa".$r[0];
那输出的结果就是string型。
?php
header('content-type:text/html;charset=utf-8;');//utf-8编码,避免乱码
$str='2、小孩自费项目:香溪古堡 (0.8米以下免票,0.8—1.2米25元,1.2米以上50元)br/';
$data=array();//找到的数字放这里
$newdata=array();//替换的格式放这里
$num=preg_match_all("/[^](\d+\.)?\d+/",$str,$re,PREG_PATTERN_ORDER);//用正则表达式把数字全找出来
foreach($re['0'] as $value){
preg_match("/(\d+\.)?\d+/",$value,$value2);//会匹配到非 # 61618的字符,所以还要清除掉那些非 # 61618得字符
$data[]=$value2[0];
}
$data=array_unique($data);//清理相同值(避免重复替换)
foreach($data as $value)
$newdata[]="span style=\"color:red\"{$value}/span";
$str=str_replace($data,$newdata,$str);//替换
echo "{$str}br/";//输出测试
?
亲,在php5.3下通过测试,发现bug请告诉我,注释不够请追问哟!
PHP对中文字符串的处理一直困扰于刚刚接触PHP开发的新手程序员。下面简要的剖析一下PHP对中文字符串长度的处理:
(1)PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节;
(2)中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8。utf-8能兼容更多的字符,所以受到很多站长的喜爱。gbk与utf-8对中文的编码不同,导致中文在gbk与utf-8编码下所占字节也有差异。