$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 />";
}
你不需要两个分隔符,你可以在explode
后面加一个str_replace
:
$imagedata = explode("|", $string);
foreach($imagedata as $image) {
echo "<img src='/".str_replace(":","/",$image) . "'/>";
}
use this:
$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 />';
}
也许你可以尝试使用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 />";
}
}
然后可能只需要将其保存在其他变量中…
如果你想保持简短(但不清楚):
$imagedata = '<img src="/' . implode("'" />'n<img src='"", str_replace(':', '/', explode("|", $string))) . '" />';