iou3344 2023-01-07 21:39 采纳率: 85.2%
浏览 15
已结题

php将字符串拆分成数组并输出为指定样式的结构

$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">123</a></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">456</a></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">789</a></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">abc</a>
        </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];
}
  • 写回答

2条回答 默认 最新

  • ShowMeAI 2023-01-07 23:16
    关注

    可以参考如下代码

    $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>';
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月16日
  • 已采纳回答 1月8日
  • 创建了问题 1月7日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错