重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
preg_replace_callback - 执行一个正则表达式搜索并且使用一个回调进行替换
创新互联建站,为您提供成都网站建设、网站制作、网站营销推广、网站开发设计,对服务成都木制凉亭等多个行业拥有丰富的网站建设及推广经验。创新互联建站网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!
preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )
这个函数的行为除了 可以指定一个 callback 替代 replacement 进行替换 字符串的计算,其他方面等同于preg_replace() 。
参数 | 必需的 | 描述 |
---|---|---|
pattern | 是 | 要搜索的模式,可以是字符串或一个字符串数组。 |
callback | 是 | 一个回调函数,在每次需要替换时调用,调用时函数得到的参数是从subject 中匹配到的结果。回调函数返回真正参与替换的字符串。这是该回调函数的签名:handler ( array $matches ) 。你可能经常会需要callback函数而 仅用于preg_replace_callback()一个地方的调用。在这种情况下,你可以 使用匿名函数来定义一个匿名函数作 为preg_replace_callback()调用时的回调。 这样做你可以保留所有 调用信息在同一个位置并且不会因为一个不在任何其他地方使用的回调函数名称而污染函数名称空间。 |
subject | 是 | 要搜索替换的目标字符串或字符串数组。 |
limit | 否 | 每个主题字符串中每个模式的最大可能替换数。 默认为-1(无限制)。 |
count | 否 | 如果指定,此变量将填充完成的替换次数。 |
如果subject是一个数组, preg_replace_callback()返回一个数组,其他情况返回字符串。 错误发生时返回 NULL。 如果查找到了匹配,返回替换后的目标字符串(或字符串数组), 其他情况subject 将会无变化返回。
// 将文本中的年份增加一年. $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]是第一个捕获子组的匹配 // 以此类推 return $matches[1].($matches[2]+1); } echo preg_replace_callback( "|(\d{2}/\d{2}/)(\d{4})|", "next_year", $text);
preg_replace_callback() - 执行一个正则表达式搜索并且使用一个回调进行替换
preg_quote() - 转义正则表达式字符
preg_replace() - 执行一个正则表达式的搜索和替换
preg_last_error() - 返回最后一个PCRE正则执行产生的错误代码
preg_replace_callback_array() - 执行正则表达式搜索并使用回调替换