代码之家  ›  专栏  ›  技术社区  ›  user216441

带有正则表达式的参数

  •  0
  • user216441  · 技术社区  · 15 年前


    命令arg1 arg2 arg3
    在此阵列中:

    [arg1,arg2,arg3]

    但如果用户键入:
    命令“arg1仍然arg1”arg2
    阵列将是:

    [arg1 still arg1, arg2]


    3 回复  |  直到 15 年前
        1
  •  1
  •   avpaderno    15 年前

    PHP会自动执行您的请求。

    <?php
      print $argc . "\n";
    
      for ($i = 0; $i < $argc; $i++) {
        print $argv[$i] . "\n";
      }
    ?>
    

    具有 php ./argv.php Test "Test 23" "Test 34" ,我获得以下输出

    sunradio:~ kiamlaluno$ php ./argv.php Test "Test 23" "Test 34"
    4
    ./argv.php
    Test
    Test 23
    Test 34
    sunradio:~ kiamlaluno$
    

    去掉第一个论点, $argv 包含所需的所有参数。这很容易做到 array_pop()

        2
  •  2
  •   Guffa    15 年前

    使用如下正则表达式:

    ^[^ ]+(?: ("[^"]+"|[^ ]+))*$
    

    表情 "[^"]+"|[^ ]+

        3
  •  0
  •   Paul Huff    15 年前

    我相信您可能希望在php中使用类似strtok的东西,而不是正则表达式。

    请参阅文档中的此注释: http://www.php.net/manual/en/function.strtok.php#94463