dpjjmo3079 2014-02-20 12:12
浏览 531
已采纳

php - 正则表达式以匹配以...开头的内容

I am terribly sorry but the array looks like this:

Array
(
[1] => Array
    (
        [0] => msie6.0
        [1] => 7
    )

[2] => Array
    (
        [0] => safari5.0.3
        [1] => 5
    )

[3] => Array
    (
        [0] => chrome18.0.1025.308
        [1] => 1
    )

[4] => Array
    (
        [0] => firefox20.0
        [1] => 4
    )
[5] => Array
    (
        [0] => msie7.0
        [1] => 915
    )

and so on... When i try to replace for example msie6.0and msie7.0 with InternetExplorer and add it occurence :

preg_match("/#^msie(.*)$#i/is", $results, $matches);
$test = $matches[0] ;
print_array($test);
$results["#^startText(.*)$#i"] = $results['InternetExplorer'];
print_array($results);
unset($results["/#^msie(.*)$#i/is]);

it not match the perfect as i want. any solution for that ? in order to have :

Array
(
[1] => Array
    (
        [0] => InternetExplorer
        [1] => 922
    )

[2] => Array
    (
        [0] => safari5.0.3
        [1] => 5
    )

[3] => Array
    (
        [0] => chrome18.0.1025.308
        [1] => 1
    )

[4] => Array
    (
        [0] => firefox20.0
        [1] => 4
    )
  • 写回答

1条回答 默认 最新

  • douchuanhan8384 2014-02-20 12:20
    关注

    After your clarification in comment. I think you don't need regex, strpos is enough too that job.

    $rows["InternetExplorer"] = 0;
    foreach($rows as $key => $value){
      if(strpos($key,"msie") !== false){
         $rows["InternetExplorer"] += $value;
         unset($rows[$key]);
      }
    }
    

    DEMO.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?