我在用 替换字符串中的特定标记。但除了实际的标记外,我还需要知道该标记是主题字符串中的第一个、第二个还是第三个。有没有办法获取这些信息?
$计数 在preg\u中替换\u回调定义( http://php.net/manual/en/function.preg-replace-callback.php ),它统计替换,但我不确定是否可以从回调中访问它。在所描述的上下文中有任何用法的例子吗?
这个 $count
$count
function repl($matches) { static $count = 0; ++$count; ... } preg_replace_callback('/.../', 'repl', $haystack);
您可以创建一个非局部变量来保持计数。
使用PHP5.3+还可以使用 closure (而不是全局或静态变量)
$counter = 0 preg_replace_callback('/.../', function($matches) use(&$counter) { ++$counter; ... }, $haystack );