【问题标题】:preg_replace_callback(): Requires argument 2preg_replace_callback():需要参数 2
【发布时间】:2013-12-08 19:21:44
【问题描述】:

我不太确定在这里做什么。任何比我聪明的人的帮助将不胜感激......

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);

【问题讨论】:

标签: php


【解决方案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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多