登录

字符串分割

有小伙伴问关于老牌CMS - yourphp的多图上传中的图片无法单张调用,看了下数据库,发现yourphp的多图上传是将多张图片的地址跟图片名称组合成一个字符串存入数据库中的,如图:

微信截图_20180201213809.png

所以当从数据库中调用数据时,需要对调用出来的多图数据进行处理下,处理的方法有很多种,博主在这里采用的是进行字符串分割,通过字符串的组合形式来进行分割,代码如下:

方法一

<?php 
  $ar = '/Uploads/201802/5a730bfbc1889.jpg|niceboy.jpg:::/
      Uploads/201802/5a730bfbed3cb.gif|pjaxLoad.gif:::/
      Uploads/201802/5a730bfc26826.png|捕获.PNG:::/
      Uploads/201802/5a730bfc440d4.png|捕获1.PNG:::/
      Uploads/201802/5a730bfc26826.png|捕获.PNG:::/
      Uploads/201802/5a730bfc440d4.png|捕获1.PNG:::/
      Uploads/201802/5a730bfc5fa43.png|捕获2.PNG';
  function imgUrl($ar){
  $re = explode('|', $ar);//这里可以先以:来分割,explode(':',$ar);
  foreach ($re as $key => $value) {
    if($key != 0){
       $nre = explode(':', $value);
       $narray[] =$nre; 
    }else{
        $result[] = $re[0];
    }
  }
  for($i = 0 ;$i<count($narray);++$i){
    $combine[] = array_column($narray, $i);
} 
    $newCombine = array_merge_recursive($combine[3], $result) ;
    return $newCombine;
}
    echo "<pre>";
    print_r(imgUrl($ar));
?>

方法二

 <?php 
  $ar = '/Uploads/201802/5a730bfbc1889.jpg|niceboy.jpg:::/
      Uploads/201802/5a730bfbed3cb.gif|pjaxLoad.gif:::/
      Uploads/201802/5a730bfc26826.png|捕获.PNG:::/
      Uploads/201802/5a730bfc440d4.png|捕获1.PNG:::/
      Uploads/201802/5a730bfc26826.png|捕获.PNG:::/
      Uploads/201802/5a730bfc440d4.png|捕获1.PNG:::/
      Uploads/201802/5a730bfc5fa43.png|捕获2.PNG';
function imgUrl($ar){
  $re = explode(':', $ar);//这里可以先以:来分割,explode(':',$ar);
  foreach ($re as $key => $value) {
       $nre = explode('|', $value);
       $narray[] =array_filter($nre); 
  }
  for($i = 0 ;$i<count($narray);++$i){
    $combine[] = array_column($narray, $i);
	} 
	return $combine[0];
}
     echo "<pre>";
    print_r(imgUrl($ar));
?>

通过运行以上代码,可以得出一个含有纯图片地址的数组,如图:

微信图片_20180201215929.png

虽能实现效果但代码还有不足之处,望大神们路过时,请指出不足之处

代码中采用了几个PHP自带函数:

explode();   

array_column();   

array_merge_recursive();

选择赏赐方式:

×

多少都是心意,感谢大家

选择分享方式:

×

扫一扫分享到微信朋友圈

本文标题:字符串分割

本文地址:https://www.zbpnice.cn/post/156.html

温馨提示:文章内容系作者个人观点,不代表柏平博客对观点赞同或支持。

版权声明: 本文为原创文章,创建于2年前 (2018-02-01),版权归 柏平 所有,欢迎分享本文,转载请保留出处!

评论列表 :共有2人吐槽, 2925人围观

跨境电商之家
跨境电商之家  2年前 (2018-02-10)  沙发回复
这个文章必须顶。。
柏平
柏平  2年前 (2018-02-10) 1层回复
@跨境电商之家 感谢支持

发表评论: