标题: preg replace求助
时间: 2013-07-19
『回复列表(2|隐藏机器人聊天)』
<?php
function base($argv) {
$a = $argv[1]; //$argv是个数组,$argv[x]就是第x个括号里匹配的内容
return base64_encode($a).'|'.$a; //返回的内容将替换正则表达式匹配的部分
}
$string = "#whj#";
$pattern = "/#(.*)#/U"; //模式修饰符U会阻止贪婪匹配,不会导致#a#b#c#被匹配成一条标签。不需要模式修饰符i,因为你的表达式中没有出现字母。
echo $b=preg_replace_callback($pattern, 'base', $string); //传递函数名字符串,函数由preg在匹配到后自动调用