duanjianao0592 2016-11-16 18:54
浏览 27
已采纳

用PHP获取字符串的一部分[关闭]

i have this string:

$tree = 'list[0001Red]=null&list[0002Blue]=null&list[0004Sky]=0002Blue&list[0003Green]=null&list[0005Grass]=0003Green';

And I need to get just the first 4 characters that are before the opening bracket, for example.

$tree = '0001,0002,0004,0003,0005';

The four characters are generated randomly so they change.

Thanks for your help

I did it using this code

$tree = explode("list[", $tree);
$pieces = count($tree);
for($x=1; $x < $pieces; $x++){
    $temp = substr($tree[$x], 0, 4);
    if($x==1){
        $new_tree = $temp;
    }else{
        $new_tree = $new_tree . "," . $temp;
    }
}

But the solution of Andreas look better and simple

  • 写回答

1条回答 默认 最新

  • douqiu9529 2016-11-16 19:08
    关注

    Use regex

    $arr = preg_match_all("/\[(\d{4})/", $tree);
    
    $tree = implode(",", $arr[1]);
    echo $tree; //0001,0002,0004,0003,0005
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算