dpxo13079 2015-07-24 17:13
浏览 73
已采纳

PHP将粗体文本移动到数组键

I have details array:

[info_details] => Array
            (
                [0] => <b>title:</b> this is title
                [1] => <b>name:</b> this is name
                [2] => <b>created</b> this is date
            )

and I need to format this array to this:

[info_details] => Array
            (
                [title] => this is title
                [name] => this is name
                [created] => this is date
            )

so what is the best way to explode bold text? my code now:

foreach ( $array as $key => $value ) {
      $this->__tmp_data['keep'][] = preg_split('/<b[^>]*>/', $value);
}

but it doesn't work.

  • 写回答

5条回答 默认 最新

  • dongyan2469 2015-07-24 17:42
    关注

    Can try this regex with preg_match() and str_replace()

    $pattern = "/<b>.+:<\/b>\s?/";
    
    $arr['info_details'] = [
        '<b>title:</b> this is title',
        '<b>name:</b> this is name',
        '<b>created:</b> this is date',
    ];
    
    $new_arr['info_details'] = [];
    
    foreach($arr['info_details'] as $val){
        preg_match($pattern, $val, $m);
        $new_arr['info_details'][trim(strip_tags($m[0]), ': ')] = str_replace($m[0], '', $val);
    }
    
    print '<pre>';
    print_r($new_arr);
    print '</pre>';
    

    Output

    Array
    (
        [info_details] => Array
            (
                [title] => this is title
                [name] => this is name
                [created] => this is date
            )
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?