首页 > 作文

PHP代码篇(四)–将字符串按指定字符切割

更新时间:2023-04-07 12:11:51 阅读: 评论:0

  说,我有一个中间接手的需求,什么叫中间接手呢,就是这个功能已经上线了,并且已经产生数据了,现在要对这个功能进行修改,所以既要满足当下开发的需求,又要兼容以前的功能。简单说来,就是我们有一个后台添加商品的功能,之前是前端写的后台页面,这次进行了平台切换,所以是后端写的页面。于是对于数据,就有了些变化,具体如下:

一、老版实际情况

  1、商品的添加,字段有商品的属性,包括名称、价格、积分这些就不说了,直接是一个input提交过来的,主要是商品详情,就是平时大家购物,往下滑动查看到的商品图文详情,例如下面图1。就是产品详情那一块,由后台添加多张规格相当的图片,然后首位拼接在一起,就类似我们经常看见的“长微信聊天截图一样”。查看前端代码,发现具体实现过程是:将每一张上传的图片的完整地址倒数的认识说课稿,再加上“<img src=”和“<param>”标签,然后拼接在一起,然后encodeuricomponent()进行编码,如图4js代码:

  2、现在功能是变更了平台,就是服务器换了,之前的资源地址,访问有效,但是不再继续添加,添加的新商品图片地址存在新的服务器里面。并且由后端对数据格式进行处理,为了保持访问端,就是客户访问端页面不做任何修改,所以提交的数据格式,还是保持如上不变,只是实现方式又后端实现。

二、新版php实现方式

  1、前端在添加图片的时候,只用传多张图片的url地址,数组格式。然后对这些url资源地址进行拼接,然后写入数据库,代码如下:

$content_arr = [
  '0' => '/upload/goods/20190722/f4aed6055dfeb6f9f6db41095bb2777a.jpg',
  '1' => '/upload/goods/20190722/f4aed6055dfeb6f9f6db41095bb4578f.jpg',
  '2' => '/upload/goods/20190722/f4aed6055dfeb6f9f6db41095bb2575e.jpg',
]

//定义一个商品详情$content = '';//对传过来的商品图片数组进行处理foreach($content_ar熊猫烧香专杀r as $k=>$v){ if(!$k){ //第一张为商品主图片 $info['image'] = request()->domain()2019年凉山火灾.$v; }el { //剩余为商品详情,进行拼接 $content .= '<img src='.'"'. request()->domain().$v.'"'.' /><param>'; }
}//最后进行编码$info['content'] = rawurlencode($content);
//最后得到就是
$info['content'] = "%3cimg%20src%3d%22http%3a%2f%2fniushop.jingjinglego.com%2fupload%2fgoods%2f20190722%2ff4aed6055dfeb6f9f6db41095bb2777a.jpg%22%20%2f%3e%3cparam%3e%3cimg%20src%3d%22http%3a%2f%2fniushop.jingjinglego.com%2fupload%2fgoods%2f20190722%2f042ae67a6fd89faee455527ac10ca877.png%22%20%2f%3e%3cparam%3e";

  2、后端展示,因为后端页面的展示有所变化,之前前端写的是直接获取原数据后进行解码,然后插入到页面里面,这次后端实现的方式是,对rawurlencode()编码后的数据进行还原,还原成传过来数组格式$content_arr一样:代码实现如下

$we7_t = new we7admint();//前端传来的商品id$id = request()->get('id',0);if($id){   $goods_info = $we7_t->geteidgoodsway($id);   $content = rawurldecode($goods_info['content']);//对原数据进行解码   $content = str_replace("<img src=","",$content);//替换调标签字符   $content = str_replace("<param>", ",", $content);   $content = str_replace(" />", "", $content);   $content = str_replace('"', "", $content);   $content = str_replace(request()->domain().'/', "", $content);//替换掉域名前缀   $conte当兵苦吗nt = rtrim($content,",");//去除前后杂质   $content = explode(",", $content);//转成数组   $goods_info['image'] = str_replace(request()->domain().'/', "", $goods_info['image']);   array_unshift($content,$goods_info['image']);//将商品主图片追加考博进去   $goods_info['content'] = $content;   $this->assign("goods_info", $goods_info);//获取修改商品数据}

  3、里面主要是用到编码rawurlencode()解码rawurldecode()方法,和字符替换str_replace(str,string)方法,还有往数组第一个位置添加一个元素array_unshift(array,value)的方法。

  ps:本次主要是对字符串进行处理,总结就是,既要能按格式保存数据,又要能还原原来的数据格式,当然还要更好的方法,和实现过程,欢迎大家的评论留言,谢谢!

本文发布于:2023-04-07 12:11:49,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/530e97f24ef9a0d81d3d5a8ad51448a5.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP代码篇(四)–将字符串按指定字符切割.doc

本文 PDF 下载地址:PHP代码篇(四)–将字符串按指定字符切割.pdf

标签:商品   数组   图片   后端
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图