【发布时间】:2012-02-10 14:08:18
【问题描述】:
考虑以下字符串:
LoReM {FOO} IPSUM dolor {BAR} Samet {fooBar}
我正在寻找一种将所有内容小写的方法 - 除了 {括号} 之间的内容应该被忽略。所以想要的输出是:
lorem {FOO} ipsum dolor {BAR} samet {fooBar}
在另一个主题@stema 指向http://de2.php.net/manual/en/functions.anonymous.php 来实现这样的事情,但我不明白如何:
echo preg_replace_callback('~\{.*?\}~', function ($match) {
return strtolower($match[1]);
}, 'LoReM {FOO} IPSUM dolor {BAR} Samet {fooBar}');
这只会返回没有括号 {tags} 的字符串,甚至不会小写。谁能帮我解决这个问题?非常感谢任何帮助:)
【问题讨论】:
-
您的模式中没有
$match[1](只有 0 个)。除此之外,您不想小写匹配项而是其他所有内容。 -
请不要重复问题。