【问题标题】:Php - explode a string with two delimitersPhp - 用两个分隔符分解一个字符串
【发布时间】:2014-07-08 16:10:17
【问题描述】:
$string = 'folder1:image1.jpg|folder2:image2.jpg|folder3:image3.jpg';

我需要分解字符串得到如下结果:

<img src="/folder1/image1.jpg" />
<img src="/folder2/image2.jpg" />
<img src="/folder3/image3.jpg" />

一个分隔符没有问题,但我有两个分隔符,不知道怎么做:

$imagedata = explode("|", $string);
foreach($imagedata as $image) {
echo "$image<br />";
}

【问题讨论】:

    标签: php explode


    【解决方案1】:

    你不需要两个分隔符,你可以在你explode之后做一个str_replace

    $imagedata = explode("|", $string);
    foreach($imagedata as $image) {
        echo "<img src='/".str_replace(":","/",$image) . "'/>";
    }
    

    【讨论】:

      【解决方案2】:

      使用这个:

      $string = 'folder1:image1.jpg|folder2:image2.jpg|folder3:image3.jpg';
      $imagedata = explode("|", $string);
      foreach($imagedata as $image) {
          $img=explode(":", $image);
          echo '<img src="' . $img[0] . '/' . $img[1] . '" /><br />';
      }
      

      【讨论】:

        【解决方案3】:

        也许您可以尝试使用 2 个 foreach...

        $string = 'folder1:image1.jpg|folder2:image2.jpg|folder3:image3.jpg';
        
        $imagedata = explode("|", $string);
        foreach($imagedata as $folder) {
            $imageFolders = explode(":", $folder);
            foreach ($imageFolders as $image) {
                echo "$image<br />";
            }
        }
        

        然后可能只需要将其保存在其他变量上...

        【讨论】:

          【解决方案4】:

          如果你想保持简短(但不清楚):

           $imagedata = '<img src="/' . implode("\" />\n<img src=\"", str_replace(':', '/', explode("|", $string))) . '" />';
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-12-01
            • 2018-01-06
            • 1970-01-01
            • 1970-01-01
            • 2021-10-31
            • 1970-01-01
            • 2014-02-10
            • 2020-04-24
            相关资源
            最近更新 更多