2
之前,这就是我想要做的:的preg_replace通比赛中换人
$line = 'blabla translate("test") blabla';
$line = preg_replace("/(.*?)translate\((.*?)\)(.*?)/","$1".translate("$2")."$3",$line);
所以结果应该是翻译(“测试”)被替换为“测试”的翻译。
问题是translate(“$ 2”)将字符串“$ 2”传递给translate函数。所以translate()试图翻译“$ 2”而不是“test”。
在替换之前是否有某种方法将匹配的值传递给函数?
+1好多了:) – codaddict 2010-03-31 14:57:21