如何通过分隔符拆分字符串,但如果它被转义则不能?例如,我有一个字符串:
1|2\|2|3\\|4\\\|4
Run Code Online (Sandbox Code Playgroud)
分隔符是|
和转义分隔符\|
.此外,我想忽略逃脱反斜杠,因此\\|
在|
仍然是一个分隔符.
所以使用上面的字符串,结果应该是:
[0] => 1
[1] => 2\|2
[2] => 3\\
[3] => 4\\\|4
Run Code Online (Sandbox Code Playgroud) 帮助我使用源代码中的函数token_get_all()查找函数"funcname"的所有参数.这听起来很简单,但有许多特殊选项,例如数组作为参数或调用静态方法作为参数.也许有一个简单的通用解决方案?
UPD:
我需要调用它时传递的函数参数.让他们进行文件的外部分析.例如,有一个php文件:
<?php
funcname('foo');
funcname(array('foo'), 'bar');
Run Code Online (Sandbox Code Playgroud)
分析仪应如下开始:
$source = file_get_contents('source.php');
$tokens = token_get_all($source);
...
Run Code Online (Sandbox Code Playgroud)
因此,需要获得这样的列表:
[0] => array('foo'),
[1] => array(array('foo'), 'bar')
Run Code Online (Sandbox Code Playgroud) 我怎样才能得到与 aftergit log
相同的结果?git fetch
git pull
我克隆了两个相同的存储库。仅clone
适用于第一个,--bare
第二个带有标志。一段时间后,我执行了git pull
第一个存储库和git fetch
第二个存储库。
如果我尝试检查git log
存储库,我会得到不同的结果。
cd ~/first
git pull
git log --all --oneline | wc -l
21962
cd ~/second.git
# second
git fetch
git log FETCH_HEAD --all --oneline | wc -l
21903
Run Code Online (Sandbox Code Playgroud)