新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个密码的的问题是:你的$str="1234abc56"最初的时候1是被替换成7了,但是在后面的检查候总,你的7又被替换成3了。因为你的$s,$r的关系
创新互联自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站制作、做网站、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
这是我修改后的,比较复杂点,但是可以用。
我的思想是:将输入字符串分离,一个一个进行查询替换。
?php
function n2n($input) {
$s=array('1','2','3','4','5','6','7','8','9','0');
$r=array("7","8","9","0","1","2","3","4","5","6");
$length=strlen($input);
for($i=0;$i$length;$i++){
for($j=0;$j10;$j++)
if($s[$j]==$input[$i]){
$input[$i]= str_replace($s[$j], $r[$j], $input[$i]);
break;
}
}
return $input;
}
$str="1234abc56";
echo n2n($str);
?
有一个思路是:在数据库表的设计中增加一个字段,存放这几个数据的乘法值,比如 20*50 总值1000,这样搜索的时候计算出总值,就可以把规格20*50或50*20的都显示出来。
你的方法没有问题,其实你只要改变一下思路就可以了,不用把数据写入数据库。
而是在输出时像转换UBB一样把关键字加上A标签。具体的方法你可以下载一份Wordpress的插件《SampleTags》来看看。
每次去修改数据中的标签其实很痛苦不是吗?数据永远是原始数据最有价值,加工过的数据就让它在视图层通过修改器来完成吧。
function _StrReplace($str){ $keyword_arr = array ( '1' = '2', '3' = '10',); $temp_str=$keyword_arr[$str]; if(trim($temp_str)!=''){ $end_str=$temp_str; }else{ $end_str=$str; }}