1

我有一个名为 products 的 MySQL 表,其中有一列 ( images)

此列中有许多文件名,由[]and分隔,

喜欢:

[image-1.jpg],[image-2.jpg],[image-4.jpg],[image-5.jpg]

等等...

我希望能够提取图像文件名,使它们看起来像:

image-1.jpg
image-2.jpg
image-3.jpg
image-4.jpg
image-5.jpg

这是我目前的PHP:

<?php
$images = explode(',',$project['images']);

        foreach($images as $image)
        {
            $display_image = substr($image, 1, -1);
            ?>
            <tr>
                <td><img src="/img/project-gallery/<?php echo $display_image; ?>" width="160px" /><br />
                <input type="checkbox" name="current_images<?php echo $project["sequence"]; ?>" id="current_images<?php echo $project["sequence"]; ?>" value="image_id_checkbox_<?php echo $project["sequence"]; ?>" /></td>
            </tr>
            <?php
        }
        ?>

所以我在每个图像下都有一个复选框,我希望能够[filename.extn],从数据库中的图像列中删除所选内容。

例如,如果我选中 image-1.jpg 复选框,我希望图像列最终如下:

image-2.jpg
image-3.jpg
image-4.jpg
image-5.jpg
4

2 回答 2

0

preg_split — 用正则表达式分割字符串 这将...

$images = preg_split("/[\[\],]+/", $project['images']);
于 2013-10-14T23:46:38.327 回答
0

尝试这个:

<?php
        $string = '[image-1.jpg],[image-2.jpg],[image-3.jpg],[image-4.jpg],[image-5.jpg]';
        $str_arr = explode(',', $string);

        foreach($str_arr as $key => $value)
        {
            $value = trim($value, '[]');
            echo $value."<br />";
        }
        ?>

--

谢谢 ....

于 2013-10-15T06:06:09.130 回答