preg_replace with replacement function(使用替换函数替换PREG_REPLACE)
问题描述
如何将preg_replace
与函数一起用作替换参数?此代码出错。
function getInfo($id,$slot){
if(!$id){ return '<b>Error</b> Id Not Returned. Please contact support@site.com for more information.'; }
$mm = mysql_query("SELECT * FROM `users` WHERE `id`='".$id."'");
$mma = mysql_fetch_assoc($mm);
$p = $mma[$slot];
return $p;
//return $id; <- Debug (Returns ID given)
}
$post = preg_replace(
"/[CallName]([^]]+)[/CallName]/",
getInfo('\1',"fullname"),
$post
);
推荐答案
e
修饰符现在deprecated支持preg_replace_callback。
示例用法:
$x = 'abcd-efg-hijk-lmnop';
$x = preg_replace_callback(
'/-(.)/', //pattern
function($matches) { //callback
return strtoupper($matches[1]);
},
$x //subject
);
echo $x; //abcdEfgHijkLmnop
这篇关于使用替换函数替换PREG_REPLACE的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!