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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法