$string = “123.jpg@123#456.jpg@456#789.jpg@789#abc.jpg@abc”
用PHP将用@和#相连的上述字符串拆分并输出为以下形式
<div class="card actress">
<a href="/card/123"><img class="xx" src="123.jpg">a>
<div class="card-body">
<h6 class="card-title"><a href="/card/123">123a>h6>
div>
div>
<div class="card actress">
<a href="/card/456"><img class="xx" src="456.jpg">a>
<div class="card-body">
<h6 class="card-title"><a href="/card/456">456a>h6>
div>
div>
<div class="card actress">
<a href="/card/789"><img class="xx" src="789.jpg">a>
<div class="card-body">
<h6 class="card-title"><a href="/card/789">789a>h6>
div>
div>
<div class="card actress">
<a href="/card/abc"><img class="xx" src="abc.jpg">a>
<div class="card-body">
<h6 class="card-title"><a href="/card/abc">abca>
h6>
div>
div>
我猜大概是下面这样写,但是就是写不出来想要的结果。
$string = “123.jpg@123#456.jpg@456#789.jpg@789#abc.jpg@abc”
$arr = preg_split("/(#l@)/" ,$string);
$length = strlen($arr);
$thisWord = array();
for ($i=0; $i<$length; $i++) {
$thisWord[$i] = $string[$i];
}
可以参考如下代码
$string = "123.jpg@123#456.jpg@456#789.jpg@789#abc.jpg@abc";
$items = explode("#", $string);
foreach($items as $item) {
list($img, $name) = explode("@", $item);
echo '<div class="card actress">';
echo '<a href="/card/' . $name . '"><img class="xx" src="' . $img . '"></a>';
echo '<div class="card-body">';
echo '<h6 class="card-title"><a href="/card/' . $name . '">' . $name . '</a></h6>';
echo '</div></div>';
}
$string = "123.jpg@123#456.jpg@456#789.jpg@789#abc.jpg@abc";
$arr = preg_split("/[#@]/", $string);
for ($i = 0; $i < count($arr); $i++) {
echo $arr[$i] . "\n";
}
/////////////
$string = "123.jpg@123#456.jpg@456#789.jpg@789#abc.jpg@abc";
$arr = preg_split("/#/", $string);
for ($i = 0; $i < count($arr); $i++) {
echo "节点" . $arr[$i] . "\n";
$arr2 = preg_split("/@/", $arr[$i]);
for ($j = 0; $j < count($arr2); $j++) {
echo $arr2[$j] . "\n";
}
}