专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »PHP教程 » php正则表达式函数:PHP的正则处理函数整理总结分析 »正文

php正则表达式函数:PHP的正则处理函数整理总结分析

来源: 发布时间:星期二, 2008年12月30日 浏览:151次 评论:0
下面整理了思路方法是使用 \${1}1这会形成个隔离 $1 逆向引用而使另个 1 只是单纯文字
如果搜索到匹配项则会返回被替换后 subject否则返回原来不变 subject
preg_replace 每个参数(除了 limit)都可以是如果 pattern 和 replacement 都是将以其键名在中出现顺序来进行处理这不定和索引数字顺序相同如果使用索引来标识哪个 pattern 将被哪个 replacement 来替换应该在 preg_replace 的前用 ksort进行排序
如果 subject 是个则会对 subject 中每个项目执行搜索和替换并返回
如果 pattern 和 replacement 都是则 preg_replace 会依次从中分别取出值来对 subject 进行搜索和替换如果 replacement 中值比 pattern 中则用空串作为余下替换值如果 pattern 是而 replacement 是则对 pattern 中每个值都用此串作为替换值反过来则没有意义了
/e 修正符使 preg_replace 将 replacement 参数当作 PHP 代码(在适当逆向引用替换完的后)提示:要确保 replacement 构成个合法 PHP 代码否则 PHP 会在报告在包含 preg_replace 行中出现语法解析
注: limit 参数是 PHP 4.0.1pl2 的后加入
我认为其强大的处就是他不但可以处理而且可以处理并且他逆向引用功能非常灵活基本上他可以满足普通用户大部分需求如果他不能胜任那么我们还有 preg_replace_callback可以自定义回调满足你高级要求如设计过滤器等
preg_replace_callback
(PHP 4 >= 4.0.5, PHP 5)
preg_replace_callback -- 用回调执行正则表达式搜索和替换
介绍说明
mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, limit] )

行为几乎和 preg_replace 除了不是提供个 replacement 参数而是指定个 callback 将以目标串中匹配作为输入参数并返回用于替换
例子 1. preg_replace_callback 例子
<?php
// 此文本是用于 2002 年
// 现在想使其能用于 2003 年
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";
// 回调
function next_year($matches) {
// 通常:$matches[0] 是完整匹配项
// $matches[1] 是第个括号中子模式匹配项
// 以此类推
$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
?>

You'll often need the callback function for a preg_replace_callback in just _disibledevent="_blank">


0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: