您的位置:首页 > 编程语言 > PHP开发

php mixed preg_replace_callback 实例应用代码

2013-09-05 19:01 441 查看
php教程 mixed preg_replace_callback 实例应用代码

//需求:在所有连接后面添加一个request=xxx; 这个函数比preg_replace灵活性更强,要注意它所替换的内容为整个正则表达式的内容。

$content = 'http://www.php100.com/aaa.php?id=111">链接2';

function add_source($matches)

{

if(strpos($matches[1], '?'))

{

return 'href="'.$matches[1].'&request=xxx"'; //注意,这里和下面都加上了正则里括号外的东西:href="

}

else

{

return 'href="'.$matches[1].'?request=xxx"';

}

}

$content = preg_replace_callback('/href=['|"](.*?)['|"]/', 'add_source', $content);
//实例二
// 此文本是用于 2002 年的,

// 现在想使其能用于 2003 年

$text = "april fools day is 04/01/2002n";

$text.= "last christmas was 12/24/2001n";
// 回调函数

function next_year($matches) {

// 通常:$matches[0] 是完整的匹配项

// $matches[1] 是第一个括号中的子模式的匹配项

// 以此类推

return $matches[1].($matches[2]+1);

}
echo preg_replace_callback(

"|(d{2}/d{2}/)(d{4})|",

"next_year",

$text);
// 结果为:

// april fools day is 04/01/2003

// last christmas was 12/24/2002
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: