让我们假设我有这 3 个 php 变量
$var1 = 'my:command --no-question --dry-run=false';
$var2 = 'another:command create somefile';
$var3 = 'third-command --simulate=true';
如何在不影响 $var2 的情况下清理包含双破折号的变量。
如果我使用 substr,它将从 $var1 和 $var3 中删除破折号,但 $var2 将变为空
>>> preg_replace('/[ \=\-]/', '_', substr($var1, 0, strpos($var1, " --")))
=> "my:command"
>>> preg_replace('/[ \=\-]/', '_', substr($var2, 0, strpos($var2, " --")))
=> ""
>>> preg_replace('/[ \=\-]/', '_', substr($var3, 0, strpos($var3, " --")))
=> "third-command"
预期结果:
>>> $var1
=> "my:command"
>>> $var2
=> "another:command_create_somefile"
>>> $var3
=> "third_command"
千万里不及你