preg_replace_callback():需要参数2

时间:2013-12-08 19:21:45

标签: php

我不太清楚在这做什么。我会非常感谢任何比我聪明的人的帮助......

Warning: preg_replace_callback(): Requires argument 2, 'strtolower(':0')', to be a valid callback in ....\ on line 380.

$css = preg_replace_callback('/(text-shadow\:0)(;|\})/ie', "strtolower('$1 0 0$2')", $css);

1 个答案:

答案 0 :(得分:1)

这不是回调。它是一个包含PHP代码的字符串:完全不同的东西。回调看起来像这样:

$css = preg_replace_callback('/(text-shadow\:0)(;|\})/ie', function($matches) {
    return strtolower($matches[1] . " 0 0" . $matches[2]);
}, $css);

准确地说,第二个参数必须是"callable"。当该字符串是函数的名称时,此可以为字符串。如果您使用的是旧版本的PHP,则需要这样做:

function handleMatch($matches) {
    return strtolower($matches[1] . " 0 0" . $matches[2]);
}
$css = preg_replace_callback('/(text-shadow\:0)(;|\})/ie', 'handleMatch', $css);